我无法想出我需要的公式,我正在寻求帮助,看看你们中是否有人能帮我。我附上了表格和“措辞”公式的屏幕截图。
在另一张表中,我想从下表中提取数据,其中 Tom 的期末余额在一个单元格中,C 列在另一个单元格中 Jeff 的期末余额在一个单元格中,C 列在另一个单元格中
“我在 E1 中使用了 =INDEX(B1:B10,MATCH($D$1,$A$1:$A$10,0)+3)”,它对 TOM 有效,但对 JEFF 无效。我需要帮助的是 Jeff,但它也需要对 TOM 有效。
最终余额线并不总是位于人名下方的 3 行,每个人之间的行也并不总是位于 4 行。我尝试了偏移功能,但它总是需要一个参考点,而在这种情况下无法使用。
桌子
A B C D E
1 TOM TOM 13
2 beg bal 11 200
3 act 2 20
4 end bal 13 220
5 JEFF
6 beg bal 25 154
7 ---------------------------------------
8 act 100 45
9 ---------------------------------------
10 end bal 125 200
答案1
更新适用于不同的空间和地点End Balance
以及其他
=INDEX($A$1:$D$10, SMALL(IF("end bal"=$A$1:$A$10, ROW($A$1:$A$10),""),ROW(1:1)), COLUMN(B1))
写完公式(数组公式)后同时 按下Ctrl
++即可Shift
Enter
A1:F10 是整个数据,从 A 列开始,
表示公司,
B 列表示成本,
C 列表示股息
D 列为 Tom ... 您想要的结果
从第一个(Tom,JEFF......)开始,您想要的结束余额与初始数据类似(您可以复制 A 列并删除重复项和不想要的数据)
例如在 D1 中写入 Tom,在 D2 中写入 JEFF....
在 E1 中写入公式,您可以将其拖到同一行并在同一列中向下拖动
它找到最小的行(结束平衡)Tom(small,1)JEFF(small,2)...
JEFF、TOM 的顺序不同...
如果顺序与初始数据不同,
例如在 D 中创建一个辅助列,并在其中写入以下内容:
=1+COUNTIF($A$1:A2,"end bal")
在 D2 中将其向下拖动,它将在名称的同一行写入一个数字(此数字而不是小行(1:1)
新的公式将变为:
=INDEX($A$1:$D$10,SMALL(IF("end bal"=$A$1:$A$10, ROW($A$1:$A$10),""),VLOOKUP(E2,$A$1:$F$23,4,FALSE)), COLUMN(B1))
数组公式同时按++ VlookupCtrl
将 找到由 countif 创建的数字,该数字对应于 E2 中的名称 4 是写入数字的 D 列 Shift
Enter