gpt4 book ai didi

excel - 从列中获取唯一值

转载 作者:行者123 更新时间:2023-12-03 23:33:22 30 4
gpt4 key购买 nike

手头的任务是在 A 列中搜索以查看我有哪些值(它们以字母的形式)并为每个唯一条目粘贴,其值在另一列中一次。

这是一个直观的解释:

Visual example of the table and action I need

我想出的是创建一个 For 循环,该循环通过列 A 发起并创建一个条件,如果它找到某个值,那么它将在该范围内插入该值。代码如下:

For i = 1 to 26

if cells(i,26).value= "A" Then

Range ("C1")= "A"

Elseif cells(i,26).value = "B" then
Range ("C2").value = "B"
ElseIf (i,26).value = "C" then
Range ("C3").value = "C"
EndIf
Next i
end sub

我想缩短这个过程,因为我的数据集非常大,包含很多公司名称。有什么建议吗?我相信必须有一种方法来了解这些值(value)观,而不必自己查看所有值(value)观。

最佳答案

如果目标只是获取 Column A 输出到 Column C 中的唯一值列表,则可以使用以下宏。这实际上只是重新创建您手动查找唯一值的一种方法的步骤。不是最复杂的解决方案,但它有效

  1. 使用公司名称创建列的副本(使用工作表中最后可用的列)
  2. 删除辅助列的重复数据
  3. 将重复数据删除的列复制到目标位置
  4. 删除辅助列

假设工作表的最后一列没有被使用


Sub Unique()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim lr As Long, lc As Long

'Determine Range Size
lr = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
lc = ws.Cells(1, ws.Columns.Count).Column

'Copy Company Names To Helper Column/Remove Duplicates
ws.Range("A2:A" & lr).Copy ws.Cells(1, lc)
ws.Columns(lc).RemoveDuplicates Columns:=1, Header:=xlNo
lr = ws.Cells(ws.Rows.Count, lc).End(xlUp).Row

'Output Unique Values From Helper Column
ws.Range(ws.Cells(1, lc), ws.Cells(lr, lc)).Copy
ws.Range("C2").PasteSpecial xlPasteValues

'Delete Helper Column
ws.Columns(lc).Delete

End Sub

注意我对帖子的评论。这里可能根本不需要 VBA

关于excel - 从列中获取唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66337908/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com