Excel 多个 IF 语句或宏来解决这个问题?
Excel multiple IF statements or macro's to solve this problem?
我正在尝试在 Excel 中制作多个 IF 语句,以帮助我的俱乐部将赛事注册转换为可以导入计分程序的模板。
注册导出将 3 个属性放入一个单元格中。我需要一种方法将这 3 个属性分成导入模板的 3 个不同单元格。每个属性有 4-5 种可能性。我一直在尝试 IF(ISNUMBER(SEARCH
让我确定存在 1 个属性。
=IF(ISNUMBER(SEARCH("Production",G12,1)),"Production","")`
红色文本中的预期结果:
欢迎来到 SO。也许这会有所帮助:
=IF(ISNUMBER(FIND(B,$A3)),TRIM(LEFT((SUBSTITUTE(MID($A3,FIND(":",$A3,FIND(B,$A3))+2,255),",",REPT(" ",255))),255)),"")
结果:
鉴于您的数据,如果您有 Excel 2013+ 和 FILTERXML
函数,这里有一种处理方法。
- 创建一个 XML 以逗号和冒号分隔。
- 此 XML 的节点将等于原始数据中的每个条目。
- 任何特定属性的值将是
following-sibling
的值
- 然后
xPath
将提取适当的属性值。
C6: =IFERROR(FILTERXML("<t><s>" & SUBSTITUTE(SUBSTITUTE($A6,":",","),",","</s><s>") & "</s></t>","//s[contains(.,'"&C&"')]/following-sibling::*[1]"),"")
根据需要横向和向下填充。可以将其他属性添加到 header 行。
请参考以上Ron Rosefield的布局table。
这是另一个 FILTERXML 公式,但版本较短。
在C6
中,上下复制公式:
=IFERROR(FILTERXML("<a "&SUBSTITUTE(SUBSTITUTE($A6,":","='"),",","' ")&"'/>","a/@"&C),"")
我正在尝试在 Excel 中制作多个 IF 语句,以帮助我的俱乐部将赛事注册转换为可以导入计分程序的模板。
注册导出将 3 个属性放入一个单元格中。我需要一种方法将这 3 个属性分成导入模板的 3 个不同单元格。每个属性有 4-5 种可能性。我一直在尝试 IF(ISNUMBER(SEARCH
让我确定存在 1 个属性。
=IF(ISNUMBER(SEARCH("Production",G12,1)),"Production","")`
红色文本中的预期结果:
欢迎来到 SO。也许这会有所帮助:
=IF(ISNUMBER(FIND(B,$A3)),TRIM(LEFT((SUBSTITUTE(MID($A3,FIND(":",$A3,FIND(B,$A3))+2,255),",",REPT(" ",255))),255)),"")
结果:
鉴于您的数据,如果您有 Excel 2013+ 和 FILTERXML
函数,这里有一种处理方法。
- 创建一个 XML 以逗号和冒号分隔。
- 此 XML 的节点将等于原始数据中的每个条目。
- 任何特定属性的值将是
following-sibling
的值
- 然后
xPath
将提取适当的属性值。
C6: =IFERROR(FILTERXML("<t><s>" & SUBSTITUTE(SUBSTITUTE($A6,":",","),",","</s><s>") & "</s></t>","//s[contains(.,'"&C&"')]/following-sibling::*[1]"),"")
根据需要横向和向下填充。可以将其他属性添加到 header 行。
请参考以上Ron Rosefield的布局table。
这是另一个 FILTERXML 公式,但版本较短。
在C6
中,上下复制公式:
=IFERROR(FILTERXML("<a "&SUBSTITUTE(SUBSTITUTE($A6,":","='"),",","' ")&"'/>","a/@"&C),"")