请问这个用什么函数公式解决,比如A对应的有三个值,分别为1,2,3,当我输入A时它能返回1,在输入A时返回2,再输入A时返回3,用什么函数可以做到。
兰色做了一个简单的示例。如下图所示。要求在E列根据左表和D列输入的商品查找对应的商品单价。
公式:
=INDEX(B:B,SMALL(IF(A$2:A8=D2,ROW(A$2:A8)),COUNTIF(D$1:D2,D2)))
公式说明:
IF(A$2:A8=D2,ROW(A$2:A8) :如果A列的值等于D列的商品名称,就取它的行号。
COUNTIF(D$1:D2,D2))) :计算本行的商品名称是第几次输入。
SMALL():根据COUNTIF计算的输入次数,返回第几个最小行号。
INDEX():根据返回的行号,取B列对应位置的单价。
说明:由于公式涉及到数组运算(如 A$2:A8=D2,是拿一组数分别和一个数进行对比),所以公式要以数组形式输入,在编辑栏中,光标放在公式的结尾处,按CTRL+SHIFT然后再按回车键, 完成输入后公式两边会出现大括号{},如果没出现说明没完成输入。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。