一个很复杂的内容,貌似被简单化了。我做了一个,楼主看看是不是满意
如图源数据:
以上假设数据终止于地20行,楼主需要自行调整公式中的终止行号
Sheet2数据安排如下,B1定义公司名,第三行开始公式如下:
A3
=IF(B3="","",OFFSET(Sheet1!$A$1,LOOKUP(SMALL(IF(Sheet1!B$4:B$20=$B$1,ROW(A$4:A$20),4^8),ROW(A1)),(1/(Sheet1!A$4:A$20<>""))*ROW(A$4:A$20))-1,))
数组公式,Ctrl+Shift+Enter三键结束
B3
=IF(ROW(A1)>COUNTIF(Sheet1!B:B,$B$1),"",$B$1)
C3
=IF($B3="","",VLOOKUP($B$1,INDIRECT("Sheet1!B"&MATCH($A3,Sheet1!$A:$A,0)&":"&CHAR(COLUMN()+64)&"20"),COLUMN(B1),0))
把C3右拉,然后ABCDEFG一起下拉
效果如图:
当B1填入“E1”时:
当B1填入“E3”时:
当然,楼主也可以复制Sheet2到新的表,然后把B1定义为需要的公司
附件可参考,满意请采纳
万分感谢,能否用Index函数简化呢?
追答index函数也简化不了什么的呀,但是会被限制在区域中,
对于A3而言,使用Offset是因为它的偏移量是可正可负可零的,比较灵活;
对于C3~F3而言,Vlookup的结构合适而且相对简单。如果用index+match就会更加复杂了。
不知道你采纳的回答对你有什么帮助?
你的问题,一个Vlookup能够解决?那不妨让大分享一下!
感觉楼主很不厚道
不用追问我啊,我已经很详细很费精力地回答并解决了你初始的问题,而你却并不认可,请楼主追问你认可的答案呗
追问这里面的原理我还是不明白呀,求大师详解