如何:列出 Openoffice Calc 或 Excel 中两列文本的所有可能排列

Posted

技术标签:

【中文标题】如何:列出 Openoffice Calc 或 Excel 中两列文本的所有可能排列【英文标题】:how to: list all possible permutations of two columns of text in Openoffice Calc or Excel 【发布时间】:2013-02-19 19:43:51 【问题描述】:

我正在尝试执行以下操作:

我有一张带有 2 列带有文本输入的单元格的表格。 现在,我想生成所有排列,最好将它们粘贴到单独的工作表中。 有谁知道如何做到这一点? (还有谁还有空闲时间.. :D)

提前致谢!

亲切的问候,

弗雷德·施尼特

【问题讨论】:

你想要一个嵌套循环。你知道 Excel 的 VBA 还是 OpenOffice 的 StarBasic?另外,如果您使用的是 OpenOffice,我建议您升级 LibreOffice。 只是为了确保问题得到理解,当你说“所有排列”时,你有没有弄清楚你在谈论多少个排列? 只是为了确保问题得到理解,当你说“所有排列”时,你有没有弄清楚你在谈论多少个排列?让我们看一下这个案例,共有三行:分贝 | e c | f 如果您在谈论每一行中的配对,我们可以保持第一列固定并仅置换第二列。反转对很容易。对于所有排列,这是否是可接受的结果: d | d |电子|电子| f | f b |电子| f | d | f | d | e c | f |电子| f | d |电子| d 那是只有 3 个项 (d e f) 的六个排列。它很快变得更糟。这是目标吗? @tony:谢谢,我要去 LibreOffice 看看;在网络上,似乎社区更喜欢这个套件而不是 openoffice;可能是有原因的:) 【参考方案1】:

评论格式不允许二维布局。让我们看看这是否更有效。

为了确保问题得到理解,当你说“所有排列”时,你有没有弄清楚你在谈论多少个排列?

让我们看一下这个案例,共有三行:

一个 | d

b | e

c | f

如果您在谈论每一行中的配对,我们可以保持第一列固定,而只置换第二列。反转对很容易。这对于所有排列来说都是可接受的结果吗:

一个 | d | d |电子|电子| f | f

b |电子| f | d | f | d | e

c | f |电子| f | d |电子| d

只有 3 个术语 (d e f) 的六个排列。它很快变得更糟。这是目标吗?

【讨论】:

嗨 orcmid,我认为我的解释可能与我想要实现的目标不正确。所以我会再试一次。 嗨 orcmid,我认为我的解释可能与我想要实现的目标不正确。所以我会再试一次。 (顺便说一句,我希望将我的两列合并为一列以使这更容易)我总共有 40 个带有文本的单元格。例如。 A1John A2Claire A3Barack A4Etc .. 我想列出最多 2 个单元格的所有可能组合。例如约翰克莱尔约翰巴拉克克莱尔约翰克莱尔巴拉克巴拉克约翰巴拉克克莱尔。那是 40*39=1560 对吧?【参考方案2】:

是的,如果你有对象(数据选择,无论是字母、单词还是文本)。 您将数量乘以(数量-1),即 IE 40*39

现在在您的示例中,如果说 JohnClaire 和 ClaireJohn 算作重复 并且必须消除一个,那么数学结果应该是。 (数量 * 数量 -1)/(2)。结果应该是 780。

这完全取决于约翰克莱尔和克莱尔约翰的例子是否被认为是相同的。

我希望我有代码来列出这个场景,无论是使用文本还是数字。

【讨论】:

以上是关于如何:列出 Openoffice Calc 或 Excel 中两列文本的所有可能排列的主要内容,如果未能解决你的问题,请参考以下文章

在excel/openoffice calc中增加奇数或偶数?

再次使用delphi进行openoffice calc

如何在 OpenOffice Calc (BASIC) 中获取范围的第一行的编号

Excel、Libreoffice/Openoffice Calc:计算“正确”答案

LibreOffice Calc / OpenOffice Calc / Excel:如何显示负持续时间?

列中其他单元格中的 Openoffice Calc(或 Excel)计数匹配