Google 工作表 - 在数组公式中查找第一个匹配项

Google Sheets - finding first match in array formula

好吧,我在 Google 表格中找到了很多问题的解决方案,但是这个很难解决。 :)

我有一个 sheet,其中 C 列是各种名称,D 列是职业。例如:

C / D
John Smith / plumber
Paul Anderson / carpenter
Sarah Palmer / dentist
Jonah Huston / carpenter
Laura Jones / dentist
Sid Field / carpenter
...etc

(可以看出每个名字都是一样的,但是职业重复了好几次)

我想在 F 列中看到同一职业的最后一个匹配名称

C / D / F
John Smith / plumber / (N/A)
Paul Anderson / carpenter /Jonah Huston
Sarah Palmer / dentist / Laura Jones
Jonah Huston / carpenter / Sid Field
Laura Jones / dentist / (N/A)
Sid Field / carpenter / (N/A)
...etc

它适用于 INDEX 和 FILTER 函数,但我必须一遍又一遍地复制代码,因为我添加了额外的行。这是我使用的代码:

=IFERROR(INDEX(FILTER($C4:$C,$D4:$D=D6,$A4:$A<A6),1))

我正在寻找使用数组公式自动填充 F 列中所有单元格的解决方案,并尝试了各种版本(Lookup、Vlookup..等),但找不到正确的公式。

如有任何指导,我们将不胜感激。 :)

尝试:

=INDEX(IF(C1:C="",,IFNA(VLOOKUP(
 D1:D&COUNTIFS(D1:D, D1:D, ROW(D1:D), "<="&ROW(D1:D)), {
 D1:D&COUNTIFS(D1:D, D1:D, ROW(D1:D), "<="&ROW(D1:D))-1, 
 C1:C}, 2, 0), "(N/A)")))