永发信息网

Excel动态增加列

答案:3  悬赏:20  手机版
解决时间 2021-04-03 11:31
  • 提问者网友:王者佥
  • 2021-04-02 16:48
Excel动态增加列
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-04-02 17:48
A2数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  下拉。
=INDEX(Sheet1!A:A,SMALL(IF(MATCH(Sheet1!A$2:A$999&"",Sheet1!A$2:A$999&"",)=ROW($1:$998),ROW($2:$999),4^8),ROW(A1)))&""
 
B2公式右拉下拉:
=IF((COUNTIF(Sheet1!$A:$A,$A2)>=COLUMN(A1))*($A2<>""),INDEX(Sheet1!$B:$B,MATCH($A2,Sheet1!$A:$A,)+COLUMN(A1)-1),"")
 
注意:Sheet1中的A列相同的名称必须集中在一起,如果不在一起的,用排序功能把Sheet1的A列相同名称集中在一起。

全部回答
  • 1楼网友:思契十里
  • 2021-04-02 19:36
在B2中输入公式
=INDEX(SHEET1!$B:$B,SMALL(IF(SHEET1!$A$2:$A$200=$A2,ROW($2:$200),9999),COLUMN(A1)))
公式输入结束后按[组合键]确认,再将公式右拖、下拉填充。追问显示为0了追答请检查,你的第一个工作表的名称是不是 SHEET1 !
  • 2楼网友:我住北渡口
  • 2021-04-02 18:08

说不是很好说
看附件
在源数据表中增加数据看看


动态列中的公式为
=IF(ISERROR(INDEX(源数据!$B$1:$B$10000,SMALL(IF(源数据!$A$1:$A$10000=动态列!$A1,ROW($A$1:$A$10000),10^8),COLUMN(A1)))),"",INDEX(源数据!$B$1:$B$10000,SMALL(IF(源数据!$A$1:$A$10000=动态列!$A1,ROW($A$1:$A$10000),10^8),COLUMN(A1)))&"")
ctrl+shift+enter
三键结束,防止出现错误结果,防止空值变0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯