如果第一个表“KitList”中的记录数量为1或更大,我的任务是从另一个表(具有结构化引用)返回一个表中的记录(具有结构化引用)的项目列表
目前我最接近的结果是使用以下公式
=INDEX(KitList[Item],SMALL(IF(KitList[Quantity]>0,ROW(KitList[Quantity])),ROW(1:1)))
但是,这会返回不正确的值。具体来说,它在包含1(或更大)的行之后返回行,并跳过第一行。即。
KitList
[项目] | [数量]
返回
我认为这是由于ROW命令的一些交互计数表的标题以及它们中的数据,因此用标题读取整个范围,并在返回值中给出一个额外的行。有没有办法,在最后的ROW命令中通过结构化引用指定我需要的行?这会解决问题吗?
答案 0 :(得分:2)
ROW
函数将返回电子表格中的行,而不是结构化数据的行。简单的解决方案ROW - 1
答案 1 :(得分:1)
编辑:我的原始答案在复制时没有产生所需的结果。
我认为这就是你想要的:
=INDEX(KitList[Item],SMALL(IF(KitList[Quantity]>0,ROW(KitList[Quantity])-ROW(KitList[#Headers])),ROW(1:1)))
这也允许您将源Table
移动到任何您想要的位置,即标题行不必是1:1
,结果也可以位于任何位置。
答案 2 :(得分:-2)
{=INDEX(KitList[[#All],[Item]],SMALL(IF(KitList[Quantity]>0,ROW(KitList[Quantity])),ROW(1:1)))}
通过指定我想要包含的所有'套件清单表,数据和标题,而不仅仅是标题,我已设法解决问题。但是看起来仍然很尴尬。