水流云淡 发表于 2021-12-17 17:21:00

如何根据表格固定一个值,返回指定表格里所有1对多的首行数字 ...

求助高手大侠,如何能按我附图里那样,返回我需要的值呢?
如图示,左边的A1-F10,是数据表。我需要三个公式函数,实现:
1. 公式函数1:查询蓝色区域里所有数值1的单元格,并按照从第2行往第10行顺序,依次返回蓝色单元格数值1对应的首列单元格数值;(函数1已经实现,即图中H列的4至11行)
2. 公式函数2:查询蓝色区域里所有数值1的单元格,并按照从B列至F列顺序,依次返回蓝色单元格数值1对应的首行单元格数值;(函数2已经实现,即即图中I列的4至11行)
3. 公式函数3:在J列,以I列的I4-I11为索引,把第H列的H4-H11数值进行匹配;即按数据表中,蓝色区域里单元格数值1,其列与行的对应表全集表。(函数3未实现)
函数3现存问题:只能返回1对N中的最大值,不能把所有1对N的值列全,例如I列中:a对应4和7,但函数只返回了较大值7
我在网上查询了很久,函数3是我能找到的最接近的公式了,但只能做到返回1对N中的最大值,不能把所有1对N的值列全,例如I列中:a对应4和7,但函数只返回了较大值7。
求助各路Excel高手出手相助!

用户玫瑰园 发表于 2021-12-17 22:52:57

补充一句,表中的J列的黄色区域数值,是我想要的结果。

馋苗苗 发表于 2021-12-24 13:57:56

=INDEX($A:$A,MOD(SMALL(IF($B$2:$F$10=$I$2,COLUMN(B:F)/1%+ROW($A$2:$A$10)),ROW(A1)),100))&""

果果派 发表于 2021-12-28 21:15:00

太厉害了,我整了好几天,大侠一出手,分分钟就搞定了,谢谢谢谢!!!

帅到宇宙没朋友 发表于 2021-12-29 04:30:34

大侠,我按照您给的公式3应用到我的数据表里,结果是正确的,请参见附图中,F列1805行黄色以上的部分,共1799条数据。
但我自己写的公式2,行列比较少的时候结果是对的,但行列增加后,似乎出现了循环引用,导致输出了30000+还没到头(请参见附件excel文件的《输出-股票及板块对应表》),按理说结果也应该是1799条才对。
能再帮我看下我的公式是错在哪里了吗? 谢谢!
另外,还有一个问题请教,您这个公式里的100,代表的是什么意思呢?

万宝全书缺只角 发表于 2022-1-5 21:57:58

F7公式计算过程:找到第一个满足条件"是"所在的单元格B9,第二列第九行,列数/1%即扩大100倍为200加上行数9得到结果第一个最小值209,求余数得到第一个结果在第9行。
=MOD(209,100)=9
=INDEX('板块股票对应表-数据源表'!A:A,9)
='板块股票对应表-数据源表'!A9

徐大侠 发表于 2022-1-7 09:43:52

=INDEX('板块股票对应表-数据源表'!$1:$1,SMALL(('板块股票对应表-数据源表'!$B$2:$NU$196<>$B$1)/1%%+COLUMN('板块股票对应表-数据源表'!B:NU),ROW('板块股票对应表-数据源表'!A1)))&""

喜乐麦子 发表于 2022-1-8 16:43:24

大侠,收到了,非常感谢!实话说,您讲的F7逻辑不太理解,实在底子太差,不过,我会时时不停揣摩理会。

楚相邦 发表于 2022-1-11 01:47:03

大侠,还有一个问题,代码里是指定了$B$1单元格的值,作为查找对象。可以直接在这个公式里,赋值进行查找吗?比如,$B$1单元格的值=我,代码能否直接替换为如下的代码呢?
=INDEX('板块股票对应表-数据源表'!$1:$1,SMALL(('板块股票对应表-数据源表'!$B$2:$NU$196<>'"我"/1%%+COLUMN('板块股票对应表-数据源表'!B:NU),ROW('板块股票对应表-数据源表'!A1)))&""

金典画廊 发表于 2022-1-12 08:31:28

大神能帮我个忙吗
页: [1] 2 3
查看完整版本: 如何根据表格固定一个值,返回指定表格里所有1对多的首行数字 ...