Excel保留前三行并删除其余的重复项

时间:2016-04-14 01:28:05

标签: excel excel-2010 delete-row

我有20K数据表,其中包含第1列的多个重复项。我需要为每个数字保留第1列的前三个重复项并删除其余部分。

enter image description here

我需要保持黄色突出显示并删除其余部分。

2 个答案:

答案 0 :(得分:1)

因此,进入VBA路线,你需要遍历选项卡中的每一行并测试值以查看它是否重复,如果它是重复的那么你将增加一个计数器变量和一次该计数器变量命中3你开始删除行。

如果您没有使用VBA,这有点复杂。请花一些时间来玩代码并理解它。我已经在其中写了评论以帮助解决。

app.Use(async (context, next) =>
{
    if (context.Authentication.User.Identity.IsAuthenticated)
    {
        var identity = context.Authentication.User.Identities.First();
        // Access claims
        var idClaim = identity.FindFirst(ClaimTypes.NameIdentifier);
        string subscriberId = idClaim.Value;

        // your custom code to obtain user information from your database
        var dbUser = await userService.FindAsync(new UserLoginInfo("MyProviderName", subscriberId));

        // put your custom user information into the claims for the current identity.
        identity.AddClaim(new Claim("name", dbUser.UserName));
        identity.AddClaim(new Claim("favorite-color", dbUser.FavoriteColor));
        // and so on

    }

    await next.Invoke();
});

如果您是VBA的新手,请使用此代码:

  1. 在工作簿中,按Ctrl + F11进入Visual Basic 编辑(VBE)

  2. 您的工作簿将在VBAProject面板中被称为“VBAProject”。 右键单击它并选择插入>>模块

  3. 双击新模块“Module1”将其打开。

  4. 粘贴此代码。

  5. 要运行它,请单击代码中的某个位置,然后单击播放按钮 顶部(或键盘上的F5)。确保编辑适合的代码 工作簿的需求,例如将选项卡名称更改为选项卡。 另外,请确保在运行之前备份工作簿 将删除行,您将无法撤消。

  6. 最后,这只是一种方法。这并不意味着100%满足您的需求,因为我猜测行数,数据列在哪一列,数据已经按重复列排序,以及其他什么。这只是为了让你在VBA中找到一个坚实的方向。它在我的测试工作簿中处理了我在新工作簿的A列中创建的虚假列表。

答案 1 :(得分:0)

不使用VBA并且不需要对数据进行排序的替代方法是创建第三列数据,您只需计算发件人ID发生的次数。

Assuming:
Sender is column B
Message is column C
Count will be new column C
Row 1 is a header row
Data starts in row 2

在D2中放置以下公式:

=COUNTIF($B$2:B2,B2)

将其复制到整个列中。

在数据或标题行中选择一个选择。

右键单击D1中的标题并选择过滤器,然后从飞出选择单元格值。 (您的数据可能会消失但只是隐藏)

左键单击D1中的漏斗图标,然后选择数字过滤器。从飞出时选择小于或等于,并将数字3放在右上角的框中。

选择原始的2列数据并复制并粘贴到新工作表中,新列表中只有前三个条目。