【发布时间】:2021-09-20 06:36:47
【问题描述】:
我有一张这样的表:
Col1 Col2 Col3 Col4 ------ Col5 --------
ROW 1 A C D T 12,26,56,58,84,96
ROW 2 J K K L 56,89,105,85,96,125
ROW 3 Y I X O 5,10,60,90,85,125,40
.
.
.
.
我需要一次合并两行,我在工作表中运行一个嵌套循环,每次满足条件时,这两行就合并在一起。
条件是:两行在 Col5 中不应该共享一个 smilar 数字,换句话说,要使条件为真,“Col5 for row X”和“Col5 for row X+1”应该都有唯一的数字。
喜欢这个
第 1 行和第 2 行返回 false,因为它们共有 56 个 第 1 行和第 3 行返回 true,因为它们没有共同的数字 第 2 行和第 3 行返回 false,因为它们共有 125 和 85
如果“真”满足条件并合并行,则返回“假”,然后代码移至下一行。
检查两个单元格是否具有唯一/不重复数字的最佳方法是什么?
到目前为止我尝试了什么:
到目前为止,Col5 中的数字集很小,所以我只使用了逻辑语句“Num1 Num2 AND Num1 Num3 AND ...... 但随着数量的增长,无法使用该方法。
我一直在考虑:
-
将两个 Col5 单元格作为一个动态数组,并检查该数组是否具有唯一值(不知道怎么做)
-
在每个 Col5 单元格中,将每个数字幂为 2,然后将所有数字相加,然后得到一个数字,我可以将其与另一个 Col5 单元格编号进行比较。但我不确定这个方程是否每次都能从这组数字中产生一个唯一的数字(我希望这有意义)
有什么建议吗?
【问题讨论】:
-
欢迎来到 SO。你自己尝试过什么?根据你的例子,你能说明
two rows should not have similar numbers in the last row是什么意思吗?什么被认为是unique / not duplicate?也许再提供一行或两行来解释它们。 -
你自己尝试了什么?您的问题并不清楚,即使有人会尝试帮助制定规则,该规则规定您必须证明您自己尝试过/做过某事。 “根据条件将多行组合在一起”是什么意思?您希望这样的代码返回什么? “两行的最后一行不应有相似的数字”是什么意思? “两个单元格具有唯一/不重复的数字”简单的意思是不相等。 Unique 概念在相同范围内有多个值的情况下有意义......
-
我编辑了我的帖子,我希望我的问题更清楚一点,而且现在很有意义。
-
要从第 5 列的内容中创建一个数组,请使用
SPLIT函数。要判断它们是否唯一,请遍历它们,将它们存储在 Dictionary、Collection 或 ArrayList 对象中。 -
“第 1 行和第 3 行返回 true,因为它们没有共同的数字”? 85呢?行是如何组合的? col5 是否扩展到两组数字?