Excel formula 获取索引和匹配的结果,并将第一个匹配返回到第一列,第二个匹配返回到第二列,依此类推
我正在excel上设置积分系统 我有一个孩子数据库,每个孩子都有一个条形码。 我有一个点数据库,每个点都有一个条形码 我有一张表格,孩子们可以扫描他们的私人条形码,然后扫描他们获得的积分的条形码,这些积分将进入他们的帐户 我一直在为他们的帐户添加积分 我试着使用下面的数组公式,但是工作表变慢了Excel formula 获取索引和匹配的结果,并将第一个匹配返回到第一列,第二个匹配返回到第二列,依此类推,excel-formula,Excel Formula,我正在excel上设置积分系统 我有一个孩子数据库,每个孩子都有一个条形码。 我有一个点数据库,每个点都有一个条形码 我有一张表格,孩子们可以扫描他们的私人条形码,然后扫描他们获得的积分的条形码,这些积分将进入他们的帐户 我一直在为他们的帐户添加积分 我试着使用下面的数组公式,但是工作表变慢了 =ArrayFormula(iferror(index('kids Scanning Page'!$H:$H,small(if($A2='kids Scanning Page'!$C:$C,row('ki
=ArrayFormula(iferror(index('kids Scanning Page'!$H:$H,small(if($A2='kids Scanning Page'!$C:$C,row('kids Scanning Page'!$C:$C),""),sum(1)))))
我尝试使用这个索引和匹配公式
=INDEX('kids Scanning Page'!$I:$I,MATCH($A$2,'kids Scanning Page'!$D:$D,0))
但这只是给了我第一场比赛
有人能建议我怎么解决我的问题吗
下面是了解我的公式
kids Scanning Page'!$H:$H = the points the kid got for all transaction
我首先想到的是一个助手专栏,看到了吗 如果没有助手,那么至少不要对整列使用数组公式,这会显著降低速度。而是使用绝对范围,例如$A$2:$A$100。或者,如果范围必须是动态的,则使用非易失性选项来获取最后使用的行,而不是整个列 所以不是
MATCH(criteria,A:A....
例如,您可以使用:
MATCH(criteria,$A$1:INDEX(A:A,COUNTA(A:A))....
或:
创建一个较小的范围,通过数组公式进行计算。请发布一个小示例表。虽然我的解决方案可能也包括索引和小索引。我不知道我的版本是否能加快速度。看看。我认为一个辅助列可能会快得多。不幸的是,在整个列索引上使用数组公式的问题是,尽管。。。尝试找到一种方法来缩小smallif,k在@JvdV的答案中产生一个类似数组的范围-我有点困惑,尽管C:C是唯一的,怎么可能有多个匹配?嗨,您最好添加一个最小的可复制示例:。
kids Scanning Page'!$I:$I = the points the kid got for this transaction
kids Scanning Page'!$D:$D = the column were the kids can scan their barcodes
MATCH(criteria,A:A....
MATCH(criteria,$A$1:INDEX(A:A,COUNTA(A:A))....
MATCH(criteria,$A$1:INDEX($A:$A,MATCH("ZZZ",$A:$A))....