在 Excel 中每隔一个单元格自动填充
Posted
技术标签:
【中文标题】在 Excel 中每隔一个单元格自动填充【英文标题】:Autofill every second cell in Excel 【发布时间】:2015-08-26 15:47:32 【问题描述】:我希望从其他每个单元格中自动填充单元格值。所以我有一列是我的源列,另一列是我试图自动填充的。所以在我的第二列中,我希望第一个单元格为 =A1,第二个单元格 =A3,第三个单元格 =A5,依此类推。我怎样才能轻松做到这一点?
【问题讨论】:
或者,要使用非易失性公式,请尝试 =INDEX(A:A,ROW()*2-1) 或者输入不带等号的前两个公式:A1
然后A3
然后选择这两个并自动填充以获得A5
、A7
、...在列中查找并替换为A
和=A
【参考方案1】:
从上面的 cmets 中提取 3 个选项,有 3 种简单的方法可以做到这一点。前 2 个选项是 volatile 函数;这意味着每次更改工作簿中的任何单元格时它们都会自动计算(而不是仅在相关单元格更改时)。因此,它们的处理强度更高,只有当你有很多它们(比如说 10,000 个)时才重要。这些公式是:
=OFFSET(A$1,2*(ROW()-1),)
这从 A1 开始,向下移动公式在 *2 - 1 中的行数(即:如果公式在单元格 8 中,则向下移动 15 个单元格)。它采用当前列并给出 1x1 的范围(即:单个单元格)。请注意,由于 Offset 已经从 A1 开始,您还需要减去一个额外的行来说明要向下移动多少空间(按照@pnuts 的建议,将 -1 乘以 2 在此处完成)。
另外,INDIRECT 通过创建对特定范围(在本例中为单个单元格)的引用来工作,然后给出该单元格的值 - 如下所示:
=INDIRECT("A"&2*Row()-1)
要在没有易失公式的情况下执行此操作,您可以使用 INDEX。 INDEX 采用特定数组(在本例中为 A 列),并从该列的第 x 项返回值(在本例中为行 2* 当前行 - 1)。如下所示:
=INDEX(A:A,ROW()*2-1)
【讨论】:
以上是关于在 Excel 中每隔一个单元格自动填充的主要内容,如果未能解决你的问题,请参考以下文章