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),"")