【问题标题】:Combination of two columns [duplicate]两列的组合[重复]
【发布时间】:2016-02-08 16:44:57
【问题描述】:

我需要两列的所有组合。

第一栏:

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

【问题讨论】:

  • 没有宏?你可以复制粘贴...
  • 对不起,但在我的真实数据中是不可能的。
  • 这只是一个示例。列更长。
  • 好的,这是我的真实数据。你能帮我用宏或函数来创建输出吗?
  • 如果你想要一个“宏”,你应该这样标记你的问题。输入“vba”或“excel-vba”

标签: vba excel excel-formula


【解决方案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)0,ROW()-COUNT(B:B )*ROUNDDOWN(ROW()/COUNTA(B:B),0),COUNT(B:B)))

向下填写直到C列的最后一行

假设您的数据位于 A 列和 B 列中,值之间没有空白单元格,您的输出将位于 C 列和 D 列中。

捷克语版本:

第三栏:

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

向下填充,直到出现 0

第四栏:

=NEPŘÍMÝ.ODKAZ("B"&KDYŽ(ŘÁDEK()-POČET(B:B)*​​ROUNDDOWN(ŘÁDEK()/POČET2(B:B);0)0;ŘÁDEK()-POČET(B :B)*ROUNDDOWN(ŘÁDEK()/POČET2(B:B);0);POČET(B:B)))

向下填写直到C列的最后一行

您应该期望 Stackoverflow 中的所有答案都以英语和非欧洲标准给出。翻译礼貌Excel Translator

我也不知道,在捷克语版本中,不同的参数是否用; 分隔,例如,它在欧洲的另一个国家。如果这不起作用,只需再次使用, 更改它们。

【讨论】:

  • 谢谢,但C列和D列没有输出
  • 啊哈,但在我的 excel 中它不起作用...
  • 您使用的是哪个版本和语言?你在欧洲吗?
  • 非常感谢,它可以工作,但现在我注意到输出不是我需要的。现在,有重复的行。我需要上面显示的输出。
猜你喜欢
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多