【发布时间】:2014-09-22 18:43:50
【问题描述】:
A B C D E F G H
ACC'L SCIENCE 0.5 TRUE 557092 87 87
ACC'L SCIENCE 0.5 TRUE 557092 88 88
ART 0.5 TRUE 557092 98 98
ENGLISH 6 0.5 TRUE 557092 88 88
ENGLISH 6 0.5 TRUE 557092 87 87
GIRLS PE 0.5 TRUE 557092 100 100
GIRLS PE 0.5 TRUE 557092 94 94
我在一个 excel 文件中有上述 7 行。我正在尝试检查连续列是否具有相同的值,它们应该合并为一行。我正在尝试的公式将创建以下数据
A B C D E F G H
ACC'L SCIENCE 0.5 TRUE 557092 87 87 88 88
ART 0.5 TRUE 557092 98 98
ENGLISH 6 0.5 TRUE 557092 88 88 87 87
GIRLS PE 0.5 TRUE 557092 100 100 94 94
伪代码看起来像:
=IF(A1 = A2),--> G1,H1 = G2, H2
然后我还必须考虑跳行 - 就像艺术课一样。使用这样的“IF”语句来检查约束是否是一种有效的方法?
IF 的问题似乎是当我真的只想合并它时它返回一个布尔值。有没有一种时尚的非 VBA 方式来做到这一点?我发现了一些具有类似数据的良好 VBA 选项——但似乎有一种方法不必将其分解。我知道 MATCH 和 INDEX,但还没有想出将它们合并的方法。
我尝试了一个数组 MATCH - INDEX 公式,但它返回奇数值——我插入了一个新列以免弄乱数据——试图基本上将数字合并到一行中。
MATCH($A$2:$A$7, INDEX(E2 & F2, $G$2:$G$7 & $H$2:$H$7))
我对 excel 还很陌生,虽然我做过一些 python。任何指向正确方向的指针,我将不胜感激。
【问题讨论】:
-
据我所知,删除重复项将删除该行,但基本上我需要将数据保留在行的末尾并合并它。如果我在 A 列上删除重复项,它不会完全删除第 2、5 和 7 行中的所有数据吗?
-
你写“我在一个 excel 文件中有上述 7 列。我正在尝试检查连续列是否具有相同的值,它们应该合并为一行。”我认为您的意思是“我在 excel 文件中有上述 7 个 rows。我正在尝试检查连续 rows 是否具有相同的值,它们应该合并为一个行。”
-
应该检查哪些列的值是否相同?只有 A 列还是 A、B、C 和 D 列都有?
-
列 A 和 D 理想情况下 -- 抱歉忘记包含它。你也是正确的——上面的 7 行。我会编辑那个
-
大约 1,000 -- 他们是学生编号 -- 唯一的学生编号 -- 上面的文件是给一个学生的 -- 我可能应该在问题中更好地解释一下
标签: excel csv excel-formula