EXCEL多列提取唯一值的问题

EXCEL多列提取唯一值的问题,第1张

=INDIRECT(TEXT(MIN(IF((COUNTIF($E$1:E1,$A$2:$C$8)=0)($A$2:$C$8<>""),ROW($A$2:$A$8)100000+COLUMN($A$2:$C$2),104857616384)),"R0C00000"),0)

Sub w3() 'VBA比较A列唯一值    改写不动态数组   只用一个数组arr1

  t = Timer

   Dim arr

  arr = Range("a1:a20000")

  For x = 1 To UBound(arr)

     For y = 1 To x - 1

       If arr(x, 1) = arr(y, 1) Then

         GoTo 100

       End If

     Next y

    k = k + 1

    If k <> x Then arr(k, 1) = arr(x, 1)

100:

  Next x

Range("d1")Resize(k) = arr

MsgBox Timer - t

End Sub

你这个问题,直接设置数据有效性是行不通的。

必须使用辅助列将A列值进行处理,才可以做为B列的有效性。

辅助列是用数组公式重复值只取一个。以你的例子就是产生abcd

B列有效性里用offset+countblank进行空值屏除进行设置。

你讲的笼统了点,没说A列值是否固定等一系列的因素。

1、直接调用或者call 过程名 call 函数名就可以了,比如

Private Sub CommandButton1_Click()

MsgBox "你调用了CommandButton1_Click过程"

End Sub

Private Sub CommandButton2_Click()

Call CommandButton1_Click

End Sub

2、如果有参数的话需要带上参数,比如

Private Sub CommandButton1_Click()

Call MsgStr("这是过程/函数调用示例")

End Sub

Sub MsgStr(str As String)

MsgBox str

End Sub

扩展资料:

在一个变化过程中,发生变化的量叫变量,有些数值是不随变量而改变的,我们称它们为常量。

自变量:一个与它量有关联的变量,这一量中的任何一值都能在它量中找到对应的固定值。

因变量:随着自变量的变化而变化,且自变量取唯一值时,因变量有且只有唯一值与其相对应。

函数值:在y是x的函数中,x确定一个值,y就随之确定一个值,当x取a时,y就随之确定为b,b就叫做a的函数值

输入值的集合X称为F的域;可能输出值的集合Y称为F的域。函数的值域是指通过映射定义域中所有元素的F而获得的实际输出值的集合。请注意,将函数的值字段称为函数的相应字段的子集是不正确的。

在计算机科学中,参数和返回值的数据类型决定了子程序的定义域和对应域。因此,定义域和相应的域是在函数开始时确定的强制约束。另一方面,价值域与实际实现相关。

参考资料:

百度百科-函数

以上就是关于EXCEL多列提取唯一值的问题全部的内容,包括:EXCEL多列提取唯一值的问题、VBA比较A列唯一值 改写不动态数组、数据有效性的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9754184.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存