【问题标题】:Formula to create grid from list in Excel在 Excel 中从列表创建网格的公式
【发布时间】:2016-08-24 00:35:53
【问题描述】:

我在两列中有数据 (H2:I8),我需要能够处理这些数据并在网格中分配值 (B1:E5)。

如您所见,第一行中有多个值,因此我开始使用公式INDEXMATCH。为了更上一层楼,我使用了这个公式:

{=IF(INDEX($I$2:$I$8,SMALL(IF($B2=$H$2:$H$8,ROW($H$2:$H$8)-ROW($H$2)+1),COLUMN(A1)))=C$1,"YES","NO")}

-- 暂时不用担心#NUM!

问题在于SMALL 函数只包含匹配的值,所以CHECK 3 出现在D3 中,而我实际上希望它出现在E3 中(显然我会将其更改为YES) ,而D3 应该是NO

但我不知道该怎么做......

任何帮助将不胜感激!!

谢谢, 克里斯

【问题讨论】:

    标签: excel indexing excel-formula match


    【解决方案1】:

    试试这个数组{=SUM(IF($C2=$H$2:$H$8,1,0)*IF(D$1=$I$2:$I$8,1,0))}

    它给出计数的总和。我假设您可以将 1=true, 0=false 值更改为您之后需要的结果

    【讨论】:

    • 非常接近,只有几个单元格引用,但这正是我所追求的!谢谢布莱恩。这是完整的条目: =IF(SUM(IF($B2=$H$2:$H$8,1,0)*IF(C$1=$I$2:$I$8,1,0))=1, "是","否")
    • 只是一点警告。有了总和,如果您有两次准确的答案,您将得到 2。您的 if 将失败,答案是否定的。我建议使用>=1 而不是=1
    • 好点布莱恩。顺便说一句 - 如果 C$1 需要作为通配符匹配(“heck”而不是“check”),Excel 是否会在范围内使用 IF 进行复制?
    • 你可以使用=IF(IFERROR(FIND(L12,M12),FALSE),TRUE,FALSE)之类的东西,但请注意,它也有问题,例如无法识别HeckCheck
    • 我想我问的不是很清楚。如果该值是单元格中的子字符串,则 FIND 似乎与范围不匹配。例如,如果 I3 是“aaCheck2”,我能否在 I2:I8 中搜索它并在 D2 中得到“YES”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多