EXCEL 批量隐藏行,比如每隔3行隐藏后2行

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:46:24
只显示1.4.7.10.。。。的行,其余隐藏
再把另一个表的 1,2,3、、、行,粘贴到这个表的1,4,7、、、行;

liangac007 ,谢谢你解决了隐藏的问题,我自己选的非空白,就隐藏了,跟你相反,不过是你指明的路;先复制,再用你的方法就隐藏了2.3,5.6,8.9...等行了;

常山大宝: 能解释下这个公式吗? =IF(MOD(ROW(),3)=1,INDEX(Sheet1!$1:$65536,(ROUNDDOWN(ROW()/3,0)+1),COLUMN()),Sheet2!A1) ;
MOD(ROW(),3)=1 是选择行数除以3的余数是1的行,比如1.4.7.。。是把?
INDEX(Sheet1!$1:$65536 是选定1表所有单元格?其他的是什么?授人以鱼不如授人以渔,辛苦了

我的2表里,是空的

你的想法很不错,可惜当粘贴的时候隐藏的行又跑出来啦。。
你是否想从另一个表中复制数据来覆盖当前表的1、4、7、10、...行呢?
如果是这样,你可以用下面的方法:
新建一个工作表,一般里面会有三个表格(工作簿),即“Sheet1、Sheet2和Sheet3”。假如你说的表在同一个工作表里面,可以不新建工作表。
把你说的“另一个表”复制到Sheet1;要替换数据的表复制到Sheet2
然后在Sheet3中的A1输入公式:
=IF(MOD(ROW(),3)=1,INDEX(Sheet1!$1:$65536,(ROUNDDOWN(ROW()/3,0)+1),COLUMN()),Sheet2!A1)
公式完成后,把公式向后、向下拖动复制,到你想要的格为止。比如:
你的表格到H列,那么向后复制公式到H列;而你的Sheet1有12行,那么向下复制公式到(12*3-2=34)行。至于Sheet2没有显示的行,你可以直接把他们复制到Sheet3的数据下面。
假如你想隐藏2.3,5.6,8.9...等行,手动做吧!这个没有好办法~~~

补充:
=IF(MOD(ROW(),3)=1,INDEX(Sheet1!$1:$65536,(ROUNDDOWN(ROW()/3,0)+1),COLUMN()),Sheet2!A1)
函数的意思是:
当前行号除以3余数为1时,返回表Sheet1的INDEX,否则返回表Sheet2!A1
INDEX是,表Sheet1!中的"行数为用当前行号除以3留整后加1,列号为当前列号"的单元格.
关于"你说的Sheet2是空的"问题:我上面提到了"把要替换数据的表复制到Sheet2"
另外一并解决隐藏问题:
1.你在Sheet3的A1单元格输入公式后,向后复制公式到没有数据的地方,然后
1).在后面第一个空白单元格输入公式
=IF(MOD(ROW(),3)=1,0,1)
意思:当行号除以3余数为1时返回0,否则返回1
1).在后面第二个空白单元格输入公式