使用一个条件查找多个结果

时间:2014-05-23 06:47:34

标签: excel

我正在尝试找到一个可以帮助我处理这种情况的函数!

ID Number   Wage 1  Wage 2  Wage 3  Wage 4  Wage 5
100                 
200 

我正在寻找可以帮助我的功能,以便我可以填补工资。工资数据将来自另一张表,例如

ID Number   Wage
100          500
100          600
100          700
200          600
200          700
200          800
200          900

程序是我将插入身份证号码,因此工资的价值将自动显示。

案例是:

对于身份证号码100,将获得:

  • 500工资1,
  • 600 for wage 2
  • 和700工资3。

对于身份证号码200,将获得:

  • 600工资1,
  • 700工资2,
  • 800 for wage 3
  • 和900工资4。

工资数量最多可达5个。

2 个答案:

答案 0 :(得分:0)

如果工资1下的单元格是I7,并且您放置了第一个公式,则可以使用以下数组公式。

{=LARGE(IF($D$8:$D$11=$H8,$E$8:$E$11,""),1)}

这是一个简单的if函数,用于查看$ D $ 8:$ H $ 11 for $ H8(在这种情况下为100)。然后它返回一个数组中的所有工资结果(你看不到)。

大元素和最后的1表示返回最大数字。在工资2下的公式中,更改公式,使1为2(第二大),然后下一个单元格为3等。

你必须记住,当你粘贴这个公式时,你不能按Enter键,你必须按Enter键才能成为一个数组函数。

粘贴

=LARGE(IF($D$8:$D$11=$H8,$E$8:$E$11,""),1)

然后点击 Ctrl + Shift + 输入,它就会变成

{=LARGE(IF($D$8:$D$11=$H8,$E$8:$E$11,""),1)}

答案 1 :(得分:0)

您可以使用以下公式:

=IFERROR(INDEX($B$2:$B$8,SMALL(IF($A$2:$A$8=$D2,ROW($B$2:$B$8)-1),COLUMNS($D$2:D$2))),"")

作为数组公式输入,即使用 Ctrl + Shift + 输入

它有点复杂,但它:

  • 首先检查与ID号匹配的行。
  • 从那些匹配的,返回行号。
  • SMALL取第1个,第2个等,具体取决于您输入公式后的列数。
  • INDEX获取这些行号并返回相应的值。
  • IFERROR处理没有适当值的实例。

Here's a GoogleSpreadsheet sample

除了它以不同的方式处理数组公式。您必须为数组公式添加ArrayFormula(如果您执行 Ctrl + Shift + Enter ,它会自动插入它)但除此之外,它是一样的。

您只需根据需要更改范围。