【问题标题】:Making multiple copies of a cell and duplicating it for a list制作多个单元格副本并将其复制为列表
【发布时间】:2014-08-12 19:57:09
【问题描述】:

我有一个不同名称的列表,我想将每个名称复制 3 个副本。例如:

A
B
C
D
E

到以下:

A
A
A
B
B
B
C
C
C
D
D
D
E
E
E

我将如何在 excel 中完成此操作?可以在Excel中完成吗?

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    有很多方法可以做到这一点......一种方法是使用类似于OFFSET() 函数的东西,如下所示:

    假设您的原始列表位于单元格A1:A5 中,比如说。然后你可以把这个公式放在你想要的地方:

    =OFFSET($A$1,ROUNDDOWN((ROW(A1)-1)/5,0),0)
    

    然后将其向下拖动到所需的 25 行。

    本质上,你的意思是:

    将单元格A1 偏移ROUNDDOWN((ROW(A1)-1)/5,0) 行和0 列。

    查看ROUNDDOWN() 函数:

    Row(A1) = 1   (Similarly, Row(A2) = 2, etc...
    (Row(A1)-1) / 5 = 0/5 ; 1/5 ; 2/5 ; .....
    Rounddowwn(...) means 0/5 to 4/5 becomes 0 ; 5/5 to 9/5 becomes 1 ; etc
    

    因此,它会将A1 偏移0 行和0 列5 次,然后在接下来的5 次偏移1 行和0 列,等等。

    希望这是有道理的:)


    编辑:

    最初的问题要求每个值复制 3 个副本,而不是 5 个 - 我有意在此编辑中保留答案,以便其他人可以看到如何根据需要将其更改为任意数量的重复...全部那将是:

     =OFFSET($A$1,ROUNDDOWN((ROW(A1)-1)/3,0),0)
    

    只需除以3 而不是5 即可...

    【讨论】:

    • 你知道你是我的英雄吗?
    • :) - 是的...是的,我做到了 :p 不过,更严重的是,欢迎来到 Stack Overflow,希望它对您的帮助和对我们许多人的帮助一样多!
    • 这是一个非常聪明的解决方案。看起来提问者很满意,但我相信他们想要每个 3 个副本,所以将 5 个替换为 3 个。
    • 对不起,@MattCremeens - 你是完全正确的......只是误读了......谢谢!
    • @JohnBus​​tos 不要抱歉。这是跳出框框思考的一个很好的展示。该错误是技术性的。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多