Excel反向递归(?)搜索

llycmphe  于 2023-05-19  发布在  其他
关注(0)|答案(3)|浏览(133)

我在Excel电子表格中有一个层次结构。
我一直需要一个公式来返回父类的UUID。父单元格并不总是位于单元格上方,层次结构标识符也不总是递减。孩子们总是在他们的“父母”之下。
我的数据如下所示,“ParentId”列是我想要的。
| UUID|层次ID|层级|ParentId|
| --------------|--------------|--------------|--------------|
| 九六一|1|格拉玛·梅维斯||
| 九百七十四|二|圣母玛丽|九六一|
| 九八七|三|儿童贞操|九百七十四|
| 一千|四|婴儿蓝|九八七|
| 一零一三|四|宝贝比约恩|九八七|
| 一零二六|四|宝贝安娜贝尔|九八七|
| 一零三九|四|宝贝也许|九八七|
| 一零五二|三|孩子莎拉|九百七十四|
| 一零六五|二|莫伊拉妈妈|九六一|
| 一零七八|三|孩子克莱尔|一零六五|
| 一零九一|四|宝宝波|一零七八|
| 1104|三|儿童Sally|一零六五|
| 一一一七|1|乔爷爷||
| 一一三○|二|杰拉尔德神父|一一一七|
| 一一四三|三|查尔德·奥森|一一三○|
| 一一五六|二|达伦神父|一一一七|
| 一一六九|三|儿童迷|一一五六|
我尝试过的公式包括XLOOKUP,一堆嵌套的if(注定),VLOOKUP和LAMDA。
VLOOKUP很接近(但没有雪茄),因为它只返回 * 第一个 * parentid -意味着所有的孩子都有相同的父母(一个非常忙碌的人!).

pkln4tw6

pkln4tw61#

您可以使用XLOOKUP公式来完成此操作。单元格E2中的公式(要向下复制):
=XLOOKUP(B2-1,$B$1:B1,$A$1:A1,"",0,-1)

  • 假设:* 父母将是从下到上搜索发现的第一个病例。

bq3bfh9z

bq3bfh9z2#

你可以尝试以下公式-

=TAKE(FILTER($A$2:$A2,$B$2:$B2<B3,""),-1)

hpcdzsge

hpcdzsge3#

据我所知,这可以使用VLookup()来完成,就像示例中一样,基于以下公式:

=VLOOKUP(E4,B$3:E$19,3,FALSE)

截图:

相关问题