我有下表:
Name Item 1 Item 2 Item 3 ... Item 28
Bob Apple Orange kiwi pair
John Orange pair banana peach
Dan Peach pair kiwi plumb
我需要在列中列出所有选择奇异果的人的名字。我尝试使用查询,但是它给了我一些非常奇怪的结果,并且由于某种原因没有选择每个人。
=IFNA(QUERY(Wishlist!$A:$Z, "SELECT A WHERE B = """&A$2&""" OR C = """&A$2&""" OR D = """&A$2&""" OR E = """&A$2&""" OR F = """&A$2&""" OR G = """&A$2&""" OR H = """&A$2&""" OR I = """&A$2&""" OR J = """&A$2&""" OR K = """&A$2&""" OR L = """&A$2&""" OR M = """&A$2&""" OR N = """&A$2&""" OR O = """&A$2&""" OR P = """&A$2&""" OR Q = """&A$2&""" OR R = """&A$2&""" OR S = """&A$2&""" OR T = """&A$2&""" OR U = """&A$2&""" OR V = """&A$2&""" OR W = """&A$2&""" OR X = """&A$2&""" OR Y = """&A$2&""" OR Z = """&A$2&""" LABEL A ''"), "Nobody is Interested")
我得到的结果只是一个人(第一个)被列出,其他人则没有出现。如果我删除“标签A”部分,则A列中的所有名称都会列为标签,并且列表中仍然只有第一人称
答案 0 :(得分:2)
您可以使用FILTER
函数:
=FILTER(A2:A4,MMULT(ROW(B2:B4)*(B2:F4=H2),ROW(A1:A5)^0)>0)
如果项目中有更多列,请相应地更改MMULT
函数的第二个参数-在我的示例中为ROW(A1:A5)^0
,因为范围B:F
有五列。如果您有28列,那么必须有ROW(A1:A28)^0
。
答案 1 :(得分:1)
使用查询公式:
=IFNA(query({B2:B,arrayformula(trim(transpose(query(transpose(Wishlist!A:Z),,rows(A:A)))))},"select Col1 where Col2 CONTAINS '"&A$2&"'"), "Nobody is Interested")
基本上,我没有加入所有行,而是加入它们,然后仅将查询分为两列:
Col1
的名字Col2
和值计算行数:
=ArrayFormula(if(len(B2:B), countif(if(C2:F="kiwi", row(B2:B)), row(B2:B)),))
您可以在下面看到我的工作: