excel将许多列多列内容合并 excel 多列自动首尾相接连成一列,公式为“=OFFSET(Sheet1!$A$1,MOD(ROW(1:1)-1,52),INT((ROW(1:1)-1”
excel 多列自动首尾相接连成一列,公式为“=OFFSET(Sheet1!$A$1,MOD(ROW(1:1)-1,52),INT((ROW(1:1)-1”
excel 多列自动首尾相接连成一列,公式为“=OFFSET(Sheet1!$A$1,MOD(ROW(1:1)-1,52),INT((ROW(1:1)-1”
=OFFSET(Sheet1!$A$1,MOD(ROW(1:1)-1,52),INT((ROW(1:1)-1)/52))
公式表示:以Sheet1的A1单元格为基准,每52行为一轮回,每向下移动一行,基准单元格向下偏移被52整除的余数行,每向下移动52行,基准单元格向右偏移1列。

=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,SHEET1!A$1,INDEX(SHEET1!$A:$G,INT((ROW()+4)/3),COLUMN())))
注意你这个公式只能放在A1单元格。。
再向右拉。。
如果你的公式放到别的单元格。就会有#REF错误,表示超出了单元格的范围。。
你这个显示#REF的地方是岗位津贴,表示岗位津贴已经是H列了。。
另外一种办法是把公式改成:
=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,SHEET1!A$1,INDEX(SHEET1!$A:$G,INT((ROW()+4)/3),COLUMN(A1))))
或者:
=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,SHEET1!A$1,INDEX(SHEET1!$A:$IV,INT((ROW()+4)/3),COLUMN())))
=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,INT((ROW()+4)/3),COLUMN())))
ROW()和COLUMN()是指你写公式的这个单元格的行序数、列序数。
=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!B$1,INDEX(Sheet1!$A:$V,INT((ROW()+4)/3),COLUMN())))
row():该单元格的行号,比如写在A8里,就等于8
mod(8,3):表示8除以3的余数
MOD(ROW(),3)=0,如果行号是3的倍数(除以3余数为0)的情况下,使该单元格为“”(空)
MOD(ROW(),3)=1,如果行号比3的倍数多1,使该单元格混合引用shee1的B$1(填充的时候不改变行号)单元格
如果行号比3的倍数多2,返回sheet1的从固定A到V列的区域中,第ROW()+4)/3行,第COLUMN()列交叉处的单元格的值。
int():向下去整,比如3.5则为3
index(A:B,2,1):取a、b列的,第2行,第1列,即A2单元格
COLUMN():该单元格的列号,比如B2单元格,则为2,因为B是第二列。
PS:该公式其实int可以去掉。
=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)
offset(基点,往下行偏移数,往右列偏移数,行偏移的厚度(如省略就是1),列偏移的数量(如省略就是1)
你上述公式分段解释:
1。 IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7)
意思是 如果sheet1中的a2:a11等于A1的话,那么返回一个数组,就是ROW($A$1:$A$10),这个阵列其实就是{1,2,3,4,5,6,7,8,9,10},否则如果a2:a11区域中不等于A2,那么就返回4^7这个一个数字
2。 SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),
意思是 如果A2:A11的区域等于A1的话,那么取{1,2,3,。。。10}这个阵列中的第ROW()-1个小的值, 还是举个列子,假如a5=a1,那么这个公式返回那个阵列第4个小的数,当然就是4了,而如果A6不等于A1,那么这个这个公式就返回4^7 这个数,这样的话,这个函式其实就是得到了一个数组,类似于{1,2,4^7,5,4^7,6,7,4^7,8,9}这样的阵列
3. OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)
意思是,以A1为基点 ,往下偏移{1,2,4^7,5,4^7,6,7,4^7,8,9} 这个阵列的行数,往右偏移当前列数减1的列数,得到一个新的十位数阵列。。。
你要想改列的位置,只要改公式最后一个COLUMN()-1 这个减几就可以了,比如可以COLUMN()-2
别忘记你这个是阵列公式,需要 按 ALT+CTRL+ENTER 结束公式
公式=INDEX(Sheet1!A:A,SMALL(IF(MATCH(Sheet1!A$2:A$20023,Sheet1!A$2:A$20023,)=ROW($2:$20023)-1,ROW($
不是的!只是资料太大了运算太慢导致宕机,只有提高电脑配置或漫长等待哈
多行变一列 excel公式高手进,详谈=OFFSET($A$1,MOD(ROW(A1)-1,3),(ROW(A1)-1)/3)
=OFFSET(A$1,MOD(ROW(A1)-1,3),INT((ROW(A1)-1)/3)*2)
右拉,下拉
=OFFSET(Sheet1!A$1,MAX(0,ROW()*10-11),) =OFFSET(Sheet1!A$1,ROW()*10-10,)这两个公式的含义是什么
ROW()*10-11
取出当前行的行号乘以10 然后再减去11
=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$100=1,ROW($1:$100)),ROW(1:1)))&""
=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$100=1,ROW($1:$100),4^8),ROW(1:1)))&""
工资表转换成为工资条所用公式=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,IN
sheet1的内容复制到sheet2,新增序号列,序号开始的两格填2和5,拉下去;
下方,复制2行表头,序号填1和4,带有序号的2行表头下拉,然后对空白行填3和6,下拉n行。
对序号列扩充套件排序。
- 上一篇
明朝为什么没有好皇帝 明朝第九位皇帝明孝宗朱樘是中兴之主吗?
明朝第九位皇帝明孝宗朱樘是中兴之主吗? 公元1487年明宪宗朱见深驾崩,儿子朱樘继位,是为明孝宗,也就是历来常说的那位明朝中兴之主,弘治帝。大明王朝作为一个多重性格的时代,在弘治帝时期,可谓是政治清明
- 下一篇
联想台式电脑bios设置u盘启动 你好,我的也是联想G475我用u盘装完系统后,怎么把第一启动项改回硬盘启动啊?谢谢了!
你好,我的也是联想G475我用u盘装完系统后,怎么把第一启动项改回硬盘启动啊?谢谢了 你好,我的也是联想G475我用u盘装完系统后,怎么把第一启动项改回硬盘启动啊?谢谢了进入BIOS后,通过方向键,选