我想使用lookup函数来查找特定的值,如果该值不存在,则需要查找其他列。如果金额存在于Amount1列中,则需要拾取它。否则,需要从amount2列中拾取金额。
输出列应在一列中包含所有值
bakd9h0s1#
尝试将BYROW()与隐式交集运算符@一起使用
BYROW()
@
=BYROW(F2:F6,LAMBDA(x,@TOROW(FILTER(B2:D6,x=A2:A6,""),1)))
或者,按照**JvdV**先生提到的方法,使用MMULT()
MMULT()
·单元格H2中使用的公式
H2
=MMULT(B2:D6*1,{1;1;1})
v1uwarro2#
使用嵌套XLOOKUP()。你试试-
XLOOKUP()
=XLOOKUP(1,XLOOKUP(G2,$A$2:$A$6,$B$2:$D$6),XLOOKUP(G2,$A$2:$A$6,$B$2:$D$6),,1)
yuvru6vn3#
也许还有另一种方法可以考虑:使用helper列获取每行的最大值,然后使用match索引:
然后它可以是值的平均值或最小值等还要注意的是,输入的顺序不需要与输出的顺序相匹配。
xytpbqjk4#
在单元格G2中:
G2
=SUM(FILTER($B$2:$D$11,$A$2:$A$11=$F2,""))
=LET(sl,A2:A11,sr,B2:D11,dl,F2:F6, BYROW(dl,LAMBDA(r,SUM(FILTER(sr,sl=r,"")))))
在Amount列的第一个单元格(行)中:
Amount
=SUM(FILTER(Table1[[Amt1]:[Amt3]],Table1[Fruit]=[@Fruit],""))
其余单元格(行)将自动填充。
4条答案
按热度按时间bakd9h0s1#
尝试将
BYROW()
与隐式交集运算符@
一起使用或者,按照**JvdV**先生提到的方法,使用
MMULT()
·单元格
H2
中使用的公式v1uwarro2#
使用嵌套
XLOOKUP()
。你试试-yuvru6vn3#
也许还有另一种方法可以考虑:
使用helper列获取每行的最大值,然后使用match索引:
然后它可以是值的平均值或最小值等
还要注意的是,输入的顺序不需要与输出的顺序相匹配。
xytpbqjk4#
对过滤后的数据行求和
在单元格
G2
中:在
Amount
列的第一个单元格(行)中:其余单元格(行)将自动填充。