我们在excel(2010)中有一个场景,其中下拉列表中显示的值列表会根据该行的某些列动态更改。例如。考虑一下"主管"下面的表1中的下拉列表:
Emp Grade Supervisor
A 14
B 12
C 13
D 12
E 12
F 13
G 14
现在让我们说主管有一个下拉菜单。对于每位员工,主管可以只是其成绩或更高年级的人。所以,对于例如。对于13年级的员工,可以只有13年级或14年级的主管,而不是12年级。
如何在值列表中编写这样的自定义条件?我尝试过命名范围,偏移等等,但没有人允许指定自定义条件。有什么帮助吗?
答案 0 :(得分:0)
我发现以下文档有助于创建依赖数据验证下拉列表:DV0064 - 依赖列表清除单元格,可在此处下载(免费):
http://www.contextures.com/excelfiles.html#DataVal
您可以根据自己的需要定制示例。
答案 1 :(得分:0)
=OFFSET('validation pivot'!$A$1,0,1,COUNTIFS('validation pivot'!$A:$A,">="&B2),1)
主管需要至少达到他的薪资等级(> = B2)。为了使其工作,您需要在 validation pivot A1中插入数据透视表。如何创建支点(草率笔记):
请参阅上传的sample file。
答案 2 :(得分:0)
此代码(A列= EMP,B =等级,C =主管)
Sub test()
Dim actualgrade As Integer
Dim lastRowA As Integer
Dim numbers As String
lastRowA = Sheets("sheet1").Cells(Sheets("sheet1").Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRowA '1 = headers
actualgrade = Cells(i, 2)
For j = 2 To lastRowA
If Cells(j, 2) >= actualgrade Then
numbers = numbers & " " & Cells(j, 1).Value
End If
Next j
Cells(i, 3).Value = numbers
numbers = ""
Next i
End Sub
取得这个结果:
Emp Grade Supr
A 14 A G
B 12 A B C D R F G
C 13 A C F G
D 12 A B C D R F G
R 12 A B C D R F G
F 13 A C F G
G 14 A G
随意改变它,就像你需要它一样