【问题标题】:Excel multiple IF statements or macro's to solve this problem?Excel多个IF语句或宏来解决这个问题?
【发布时间】:2019-10-19 14:03:04
【问题描述】:

我正在尝试在 Excel 中制作多个 IF 语句,以帮助我的俱乐部将活动注册转换为可以导入评分程序的模板。

注册导出将 3 个属性放入一个单元格中。我需要一种方法将这 3 个属性分成导入模板的 3 个不同单元格。每个属性有 4-5 种可能性。我一直在尝试IF(ISNUMBER(SEARCH,它让我确定存在 1 个属性。

=IF(ISNUMBER(SEARCH("Production",G12,1)),"Production","")`

红色文本中的期望结果:

【问题讨论】:

    标签: excel excel-formula nested multiple-arguments


    【解决方案1】:

    欢迎来到 SO。也许这会有所帮助:

    =IF(ISNUMBER(FIND(B$2,$A3)),TRIM(LEFT((SUBSTITUTE(MID($A3,FIND(":",$A3,FIND(B$2,$A3))+2,255),",",REPT(" ",255))),255)),"")
    

    结果:

    【讨论】:

    • 太棒了!我已经阅读了这 10 倍,但仍然对它的作用感到惊讶 :) 非常感谢你让我的工作为即将到来的活动变得更加轻松!
    【解决方案2】:

    请参考上面 Ron Rosefield 的布局表。

    这是另一个 FILTERXML 公式,但版本较短。

    C6 中,上下复制公式:

    =IFERROR(FILTERXML("<a "&SUBSTITUTE(SUBSTITUTE($A6,":","='"),",","' ")&"'/>","a/@"&C$5),"")
    

    【讨论】:

      【解决方案3】:

      鉴于您的数据,如果您拥有带有 FILTERXML 函数的 Excel 2013+,这是一种处理方法。

      • 在逗号和冒号上创建一个 XML 分隔符。
      • 此 XML 的节点与原始数据中的每个条目相同。
      • 任何特定属性的值都是following-sibling 的值
      • xPath 然后将提取适当的属性值。

      C6: =IFERROR(FILTERXML("<t><s>" & SUBSTITUTE(SUBSTITUTE($A6,":",","),",","</s><s>") & "</s></t>","//s[contains(.,'"&C$5&"')]/following-sibling::*[1]"),"")
      

      根据需要在上下填充。其他属性可以添加到标题行。

      【讨论】:

      • 我只能添加一个正确答案吗?这个和另一个答案都是我想要的。另一个让我的大脑不太理解虽然:p
      • @Dbaus 您只能接受一个答案。但您可以对其他回复投赞成票。
      猜你喜欢
      • 2018-07-06
      • 2012-01-20
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多