2014-11-20 17 views
0

我想知道如果有一种方法,使比使用小区n次,例如下式:Excel的图案或增量

=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列中的值,这就是为什么我要重复两次

回答

-1

不,我知道的不使用VBA,但你可以改变配方(假设这些公式单元格b1开始)到:

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

,然后在细胞A1你会在你は任何单元格中键入因此在单元格A1中输入a1,然后在单元格A2中,您将再次输入a1

+1

“*在单元格A1中,您将在a1中输入,然后在单元格A2中再次输入a1。*”让我们想起“击败目的”。 – 2014-11-20 21:27:36

+0

@ Jean-FrançoisCorbett同意了,其他回答更好 – AtAFork 2014-11-20 21:42:20

3

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

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

复制下来。

enter image description here

+0

不错!优于使用易变的'INDIRECT',因此应尽可能避免。 – 2014-11-20 21:30:13

0

请尝试:

=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) 

一旦公式达到适当的展开效果,就应该选择它们,复制,粘贴特殊值,顶部的值以便用公式的结果替换公式。

+0

嗨,我试了一下,我发现细胞重复6次而不是3次,你知道为什么吗? – DanielYoshua 2014-11-20 21:39:37

+0

对不起,我想说我试图做3替换2 = 3 = INDIRECT(“A”&(MOD(ROW(),3)+ ROW())/ 23)&“,一些字符串“并重复6次 – DanielYoshua 2014-11-20 21:42:35

+1

嘿,对不起,看起来我犯了一个错误,一切都是正确的,谢谢 – DanielYoshua 2014-11-20 21:50:04