每次如果语句为假,则将 LET 变量加 1,循环 IF 语句直到为真

问题描述 投票:0回答:1

我正在尝试制作一个动态书籍索引,列出指定页面所在的章节。我有一个表格,该章节在一列中。在另一列中,用户应输入该章节中的最后一页#:

章节 最后一页#
第 2 章 4
第 3 章 5
第 4 章 8

我还有另一张表格,其中一列中预先填写了 1-10 的数字。第二列应自动填充该页面对应的章节:

第#页 章节
1 第 2 章
2 第 2 章
3 第 2 章
4 第 2 章
5 第 3 章
6 第 4 章
7 第 4 章
8 第 4 章
9

当第二个表中的页号超出最后一章的最后一页时,章节列应保留空白。

我决定尝试使用递归 If 语句来完成此操作,运行该语句直到返回 TRUE:

=LET(y,2,chap_name,"Ch." & y,if1,IF(A21<=XLOOKUP(chap_name,$E$7:$E$20,$F$7:$F$20),chap_name,y=y+1),IF(if1=FALSE,if1))

该公式不起作用。我有两个问题:

  1. 这种类型的递归语句在Excel中可以吗?如果是这样,我做错了什么?
  2. 这个问题有替代解决方案吗?
excel recursion excel-formula
1个回答
0
投票

您可以尝试使用

XLOOKUP()
功能:

enter image description here


=XLOOKUP(D2:D16,B2:B4,A2:A4,"",1)

© www.soinside.com 2019 - 2024. All rights reserved.