【问题标题】:Excel patterns or incrementsExcel 模式或增量
【发布时间】:2015-01-18 21:00:48
【问题描述】:

我想知道是否有一种方法可以制作一个比使用单元格 n 次的公式,例如:

=concatenate(A1,", ","some string")
=concatenate(A1,", ","some string")
=concatenate(A2,", ","some string")
=concatenate(A2,", ","some string")

等等。 在这里我要展示的是单元格 A1 重复了 2 次,然后 A2 也重复了两次,等等。 我怎样才能通过将单元格向下拖动来实现这一点。

而且我还需要做到这一点:

A B C one dog one dog two cat one cat three two dog four two cat three dog three cat 在这种情况下,我想连接 B 列中的值,这就是为什么我需要重复两次

【问题讨论】:

    标签: excel formula increment drag


    【解决方案1】:

    您可以使用索引函数来识别要连接的单元格。对于使用每行两次的常规模式,请使用

    =CONCATENATE(INDEX(A:A,ROUNDUP(ROW()/2,0)),", ","some string")
    

    抄下来。

    【讨论】:

    • 不错!比使用易变的INDIRECT 更好,因此应尽可能避免使用。
    【解决方案2】:

    请尝试:

    =INDIRECT("A"&(MOD(ROW(),2)+ROW())/2)&", some string"  
    

    重复三遍的版本:

    =INDIRECT("A"&FLOOR(1+(ROW()-1)/3,1))&", some string"  
    

    或者使用 B1:B2 中的交替字符串重复两次:

    =INDIRECT("A"&(MOD(ROW(),2)+ROW())/2)&" "&IF(ISODD(ROW()),B$1,B$2)  
    

    一旦公式实现了适当的扩展,就应该选择它们,复制、选择性粘贴、顶部的值以用公式的结果替换公式。

    【讨论】:

    • 嗨,我试过了,我发现单元格重复了 6 次而不是 3 次,你知道为什么吗?
    • 对不起,我想说我试图为 3 替换 2 为 3 =INDIRECT("A"&(MOD(ROW(),3)+ROW())/ 23)&", some string" 重复6次
    • 嘿,抱歉,我好像弄错了,一切都正确,谢谢
    【解决方案3】:

    我不知道不使用 VBA,但您可以将公式(假设这些公式从单元格 b1 开始)更改为:

    =concatenate(indirect(A1),", ","some string")
    

    然后在单元格A1 中输入要引用的任何单元格,因此在单元格A1 中输入a1,然后在单元格A2 中输入@987654327再次@。

    【讨论】:

    • "在单元格 A1 中输入 a1,然后在单元格 A2 中再次输入 a1。" 想到了“打败目标”这句话。
    • @Jean-FrançoisCorbett 同意,另一个答案更好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多