【发布时间】:2014-01-10 07:11:28
【问题描述】:
我有一个数据集,其中 60+ 千行在 excel 中,大约 20 列。 “ID 列”有时会自我重复,我想添加一个仅在最近的行中返回 1 的列,如果它重复的话。
这是一个例子。我有……
ID DATE ColumnX
AS1 Jan-2013 DATA
AS2 Feb-2013 DATA
AS3 Jan-2013 DATA
AS4 Dec-2013 DATA
AS2 Dec-2013 DATA
我想要……
ID DATE ColumnX New Column
AS1 Jan-2013 DATA 1
AS2 Feb-2013 DATA 0
AS3 Jan-2013 DATA 1
AS4 Dec-2013 DATA 1
AS2 Dec-2013 DATA 1
我一直在尝试使用排序和嵌套 if 的组合,但这取决于我的数据始终处于相同的顺序(以便它查找前一行中的 ID)。
加分:如果我的数据集对于 excel 来说相当大,请考虑我的数据集,因此将不胜感激最高效且不会占用处理器的代码!
【问题讨论】:
-
短语“最近的”在这个例子中并不明显。您添加了 1 行,其中包含 12 月和 1 月的行 - 最近仅表示 12 月(至少据我了解)。
-
@EmmadKareem 是同一 ID 的最新消息。 ID AS2 有两个条目:Feb-2013 和 Dec-2013,所以最近的是第二个。
-
您的预期结果与您所说的业务规则不符。例如,您希望在“AS3”上为 1”,但此 ID 没有重复,那么为什么预期结果不是“0”?真正的问题:您只是想识别每个 ID 的最新条目,还是您除了过滤具有重复的 ID 之外,还尝试这样做吗?
-
@andyholaday 嗨,这是每个 ID 的最新条目,但我猜你在上一篇文章中已经弄清楚了!谢谢
标签: excel if-statement repeat