如何基于Medicine列提取Dosage列数据?Excel公式技术求助
Excel 基于Medicine列提取Dosage列数据的两种实现方案
针对你需要将A列(Medicine)和B列(Dosage)数据组合成G列(Result 1)或H列(Result 2)格式的需求,以下是两种直接可用的Excel公式方案:
方案1:生成Result 1格式(示例:药品名:剂量)
如果Result 1是「药品名称 + 冒号 + 剂量」的格式,在G2单元格输入以下公式,然后下拉填充到所有行:
=A2&":"&B2
- 解释:
&是Excel中的文本连接运算符,将A列的药品名、冒号、B列的剂量拼接成完整文本。 - 空值优化:如果存在A/B列空白的记录,可避免生成无效内容:
=IF(AND(A2<>"",B2<>""),A2&":"&B2,"")
方案2:生成Result 2格式(示例:[药品名] 剂量)
如果Result 2是「方括号包裹药品名 + 空格 + 剂量」的格式,在H2单元格输入以下公式,下拉填充:
="["&A2&"] "&B2
- 解释:通过双引号包裹固定符号(方括号、空格),再和A、B列的内容拼接,得到目标格式。
- 空值优化:同样可加入空值判断:
=IF(AND(A2<>"",B2<>""),"["&A2&"] "&B2,"")
进阶技巧(适用于Excel 365/2021)
如果你的Excel版本支持TEXTJOIN函数,可实现更简洁的拼接并自动忽略空值:
=TEXTJOIN(":",TRUE,A2,B2)
第二个参数TRUE会自动跳过空单元格,无需额外写IF判断。
内容的提问来源于stack exchange,提问作者Phong Vy
相关产品推荐
相关产品推荐

