4.8 FAQ-367 如何从工作表中删除每个第 n 行或列?
Last Update: 8/10/2018
删除每个第 n 行或列
通过删减列/行对话框
如需删减列,选择工作表:删减列。这将打开wreducecols X-Function。
比如,你可以进行如下设置去删减当前工作表的每第5列(删掉1列然后跳过4列,从第5列开始)。
或者,你可以在命令窗口直接运行以下程序去执行以上操作:
wreducecols skip:=4 start:=5;
如需删除行,选择工作表:删减行。这将打开wreducerows X-Function。
比如,按以下截图设置对话框,当前工作表的每个第4行将被删除(删除1行,跳过3行,从第4行开始)
或者,你可以在命令窗口直接运行以下程序去执行以上操作:
wreducerows nrows:=1 skip:=3 start:=4;
通过循环脚本
激活工作表,打开脚本窗口 (菜单项:窗口:脚本窗口),复制粘贴下面的脚本行到脚本窗口,然后选择所有列,按Enter键执行。
如需删除列:
// Delete every nth column, counting from the left int ndel = 3; // change this number as needed; int ncols = wks.ncols; int nlast = ncols - mod(ncols, ndel); // Start deleting from the right to the left for(int ii = nlast; ii > 0; ii -= ndel) { delete wcol(ii); }
删除行:
// Delete every nth row, couting from the top int ndel = 3; // change this number as needed; int nrows = wks.nrows; int nlast = nrows - mod(nrows, ndel); // Start deleting from the bottom to the top for(int ii = nlast; ii > 0; ii -= ndel) { wks.DeleteRows(ii); }
使用选择对话框删除每第n列
- 激活工作表,选择编辑:选择...菜单。
- 在打开的选择对话框,从模式下拉菜单选择选择N列并跳过M列,然后设置N, M和开始列。
- 点击测试-当条件为真的选取按钮去选择想要的列。点击隐藏退出对话框。
- 在工作表中,右击被选中的列,选择删除上下文菜单。
比如,按下图设置对话框,将在激活工作表选择每第5列。(选择1列,跳过4列,从第5列开始)
点击测试-当条件为真的选取按钮,然后隐藏按钮。回到工作表,通过选择右键删除菜单去删除这些列。这样每第5列将被删除。
使用工作表查询对话框删除每个第 n 行
- 激活工作表,打开工作表查询对话框,通过选择工作表:工作表查询菜单项。
- 在条件框内,输入
mod(i,3)==0(参考mod函数),这意味着选择每第三行。然后点击测试-当条件为真的选取按钮去高亮选择这些行. - 关闭这个对话框,使用右键删除菜单删除这些行。
Keywords:remove, reduce,移除,减少
Minimum Origin Version Required: 2016 SR0



