两列

时间:2015-11-07 17:05:39

标签: excel vba excel-vba excel-formula

我需要两列的所有组合。

第一栏:

+----+
|  4 |
|  8 |
+----+

第二栏:

+----+
|  5 |
|  6 |
+----+

输出应如下所示:

+-----+-------+
|   4 |     5 |
|   4 |     6 |
|   8 |     5 |
|   8 |     6 |
+-----+-------+

有可能吗?

解决方案:

第三栏:

=IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(A:A,INT((ROW()-ROW($F$1))/COUNTA(B:B)+1)))

第四栏:

=IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(B:B,MOD(ROW()-ROW($F$1),COUNTA(B:B))+1))

1 个答案:

答案 0 :(得分:1)

第三栏:

= INDEX($ A:$ A,ROUNDUP(ROWS(C $ 1:C1)/ COUNTA($ B:$ B),0))

向下填写<0>

第四栏:

(不是最优雅的公式,但它可以完成工作)

= INDIRECT( “B” &安培; IF(ROW() - COUNT(B:B)* ROUNDDOWN(ROW()/ COUNTA(B:B),0)&LT;大于0,ROW() - COUNT (B:B)* ROUNDDOWN(ROW()/ COUNTA(B:B),0),COUNT(B:B)))

填写C列的最后一行

这假设您的数据在A列和B列中,值之间没有空格,输出将在C和D列中。

FOR CZECH VERSION:

第三栏:

= INDEX($ A:$ A; ROUNDUP(ŘÁDKY(C $ 1:C1)/POČET2($ B:$ B); 0))

向下填写<0>

第四栏:

=NEPŘÍMÝ.ODKAZ( “B” &安培;KDYŽ(RADEK() - POČET(B:B)* ROUNDDOWN(RADEK()/POČET2(B:B); 0)&LT;大于0; RADEK() -POČET(B:B)* ROUNDDOWN(RADEK()/POČET2(B:B); 0);POČET(B:B)))

填写C列的最后一行

您应该期望Stackoverflow中的所有答案都以英语和非欧洲标准提供。翻译由Excel Translator提供。

我也不知道,如果不同的论点在捷克语版本中由;分隔,例如,它在欧洲的其他国家/地区。如果这不起作用,只需再次使用,进行更改。