我需要解决公式逻辑方面的问题。
下面是我想要实现的确切结果的图片
我有一长串的行,其中包含按随机顺序排序的符合条件的单元格,我需要一个公式来梳理每一行并将其与参考行进行比较,并返回与参考行相比该行中缺少的值。
我尝试过但无法起作用的公式是:
=IFERROR(INDEX(H2:M2, SMALL(IF(ISERROR(MATCH(H2:M2, Sheet2!$R$1:$W$1, 0)), ROW(H2:M2)-ROW(INDEX(H2:M2,1,1))+1), ROWS(Sheet2!$R$1:$W$1)-COUNTIF(ISNUMBER(ROW(H2:M2)-ROW(INDEX(H2:M2,1,1))+1),FALSE)+1)),"")
{=IFERROR(INDEX(H2:M2, SMALL(IF(ISERROR(MATCH(H2:M2, Sheet2!$R$1:$W$1, 0)), ROW(H2:M2)-ROW(INDEX(H2:M2,1,1))+1), ROWS(Sheet2!$R$1:$W$1)-COUNTIF(ISNUMBER(ROW(H2:M2)-ROW(INDEX(H2:M2,1,1))+1),FALSE)+1)),"")}
我想要实现的目标的例子
答案1
在单元格 H3 中,为了提供帮助,添加以下公式:
=TEXTJOIN(" ",,SORT($B$3:$G$3))
这将生成一个包含所有值的字符串,方便地按字母顺序排序并用空格分隔。只要您的六个条件字符串不包含空格,就可以了。如果您不想看到它,请对其进行格式化以使其消失(例如自定义数字格式 ;;;)
(如果它们有空格,则在此处使用 | 管道分隔符,并在末尾添加更多步骤以删除带有单数的多个 || 实例,然后删除带有逗号的单数)
现在对于 H4: =SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($H$3,B4,""),C4,""),D4,""),E4,""),F4,""),G4,""))," ",", ")
如果在第 3 行找到第 4 行中的每个字符串,则将其替换为空字符串。这样只会留下第 3 行中未在第 4 行找到的部分。TRIM 会处理删除内容后产生的双空格。最后,它会将剩余的单空格替换为整洁的逗号空格。
将 H4 复制到需要的位置
答案2
在 H4 单元格中尝试此操作:
=CONCAT(IF(B4:G4="",B$3:G$3,""))
这是 B$3:G$3 范围内所有单元格值的串联,其中 B4:G4 中的对应单元格为空单元格。只需在 B$3:G$3 中的每个单元格内容前添加一个空格即可分隔结果中的值。根据需要将 H4 复制到其他行。