我在 C3:D11 有一张小 table 。 G3中的公式为=UNIQUE(C3:C11)
,即动态数组。我在 H3:K3 中手动列出了几个数字。
然后我想填写表H3:K8。我们以H3为例。如果原始表中存在第一个元素为 A
且第二个元素为 1
的行,则 H3 为 TRUE。公式 =NOT(ISERROR(XMATCH(1,($G3=$C$3:$C$11)*(H$2=$D$3:$D$11),FALSE)))
效果很好(虽然我不确定它是否是最好的)。然后我们可以将公式复制粘贴到整个表格中。
但是上表的问题是它不是动态的;它不会溢出。我正在考虑如何编写一个可能溢出的动态公式。我在 H3 中尝试过 =NOT(ISERROR(XMATCH(1,($G3#=$C$3:$C$11)*(H$2=$D$3:$D$11),FALSE)))
。它确实适用于 H3,但没有溢出到 H 列的其余部分。
有人知道如何编写动态公式来实现多条件匹配吗?
最佳答案
我想我会使用 Countifs,尽管 Match 或 Xmatch 应该是可能的:
=COUNTIFS(C3:C100,UNIQUE(SORT(FILTER(C3:C100,C3:C100<>""))),D3:D100,TRANSPOSE(SORT(UNIQUE(FILTER(D3:D100,C3:C100<>"")))))>0
在 H3 中。
我认为尝试用一个大公式完成整个事情会很尴尬,因此我会为列标题和行标题使用单独的公式:
=TRANSPOSE(SORT(UNIQUE(FILTER(D3:D100,C3:C100<>""))))
和
=UNIQUE(SORT(FILTER(C3:C100,C3:C100<>"")))
当然(看过@Mark Fitzpatrick的回答!)我可以直接输入
=COUNTIFS(C3:C100,G3#,D3:D100,H2#)>0
第一个公式。
关于excel - 与多个条件匹配的动态公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68152835/