【发布时间】:2015-12-22 15:40:07
【问题描述】:
这让我发疯了,所以我会尽力解释它。基本上,我有一个用于跟踪一年薪水工作时间的电子表格。由于它是双周一次,因此每隔一周进行一次检查,这意味着一年中有 2 个月将列出 3 次而不是仅列出两次的月份。所以 2016 年的一个例子是:
A B C
1 Jan 08 $1,900.00 Drop Down
2 Jan 22 $1,900.00 Check 1
3 Feb 05 $1,850.00 Check 2
4 Feb 19 $1,800.00 Check 3 if there is one
5 Mar 04 $1,900.00
6 Mar 18 $1,900.00
7 Apr 01 $1,900.00
8 Apr 15 $1,900.00
9 Apr 29 $1,800.00
10 May 13 $1,900.00
11 May 27 $1,900.00
12 Jun 10 $1,900.00
13 Jun 24 $1,850.00
14 Jul 08 $1,900.00
15 Jul 22 $1,900.00
16 Aug 05 $1,900.00
17 Aug 19 $1,900.00
18 Sep 02 $1,900.00
19 Sep 16 $1,900.00
20 Sep 30 $1,900.00
21 Oct 14 $1,900.00
22 Oct 28 $1,900.00
23 Nov 11 $1,900.00
24 Nov 25 $1,900.00
25 Dec 09 $1,900.00
26 Dec 23 $1,900.00
A 列包含薪水的日期,B 列包含您在该日期获得的薪水。现在,我有一个下拉菜单,让您选择一个月,然后它只显示该月的薪水。
C1 = Drop down with January- December
C2 = check 1
C3 = check 2
C4 = check 3 if there is one
所以我试着像这样在每个单元格中做一个 VLOOKUP。
C2 =VLOOKUP(TEXT(C1,"mmm"),TEXT(A1:B26),2)
显然这不起作用,我意识到即使它起作用了,我要如何执行 C3 来显示第二张薪水?有没有办法做一个 VLOOKUP,返回所有匹配的值,IE 4 月它会返回 A7、A8 和 A9,然后将它们按顺序排列在 C2-C4 单元格中?
编辑: 因此,经过一些建议,这就是我目前所拥有的:
C2=INDEX(A1:B26,(SMALL(IF(MONTH(A1:A26)=MONTH(C1),ROW(A1:A26)),ROW(1:1))),2)
C3=INDEX(A1:B26,(SMALL(IF(MONTH(A1:A26)=MONTH(C1),ROW(A1:A26)),ROW(2:2))),2)
C4=INDEX(A1:B26,(SMALL(IF(MONTH(A1:A26)=MONTH(C1),ROW(A1:A26)),ROW(3:3))),2)
C3 和 C4 根本不起作用。 C2 仅在我选择一月时有效,它返回 B1,当我选择二月时,它返回 B2...
【问题讨论】:
-
不适用于 VLOOKUP.. 这有帮助吗:fiveminutelessons.com/learn-microsoft-excel/…
-
嗯,有点,我尝试同时使用索引和匹配,但它只返回 NA。索引(A1:B26,MATCH(TEXT(C1,"mmm"),A1:A29,0),2)
-
我似乎找不到返回可以使用的数组的方法。
-
我也试过 INDEX(A1:B26,MATCH(TEXT(C1,"mmm"),TEXT(A1:A29,"mmm"),0),2)
-
添加一个仅包含月份数的列或使用 MONTH 函数来计算它。使用它作为查找列键。 VLOOKUP 只会在一个单元格中显示一个结果,而不是多个结果。使用 INDEX 和 MATCH 代替 VLOOKUP。使用它来查找结果 1 的月份条目。结果 2 将是相同的公式但偏移 1 行,结果 3 将是相同的公式但偏移 2 行,除非它是不同的月份,在这种情况下它将为空白.
标签: excel-2010 vlookup