假设我们有一份参加面试的人员名单。这些人基本上有两个角色:面试官和接受采访我想要做的是创建一个下拉菜单,只允许具有以下角色的参与者面试官。
例如:
Column A | Column B
_________|_____________
person 1 | interviewer
person 2 | interviewed
person 3 | interviewed
person 4 | interviewer
当我创建一个 Excel 下拉列表时,它只会显示人 1 和 4 作为可以插入的值。
我倾向于使用如果但我不知道如何实现这一点。
答案1
CTRL您可以通过按 AZ 对 B 列进行排序,然后按+打开名称管理器来执行此操作F3。这可以在公式功能区选项卡和定义名称区域下的名称管理器中找到。
单击New...
,将此未来列表命名为Interviewed
,并在Refers to:
字段中输入此公式。
=OFFSET(INDEX(Sheet1!$A1:$A10,MATCH("interviewed",Sheet1!$B1:$B10,0)),,,COUNTIF(Sheet1!$B1:$B10,"interviewed"))
您可以对第二份面试官名单重复这些步骤,但使用此公式。
=OFFSET(INDEX(Sheet1!$A1:$A10,MATCH("interviewer",Sheet1!$B1:$B10,0)),,,COUNTIF(Sheet1!$B1:$B10,"interviewer"))
名称需要绝对的工作表引用。然后创建数据验证列表并允许列表,并在源字段中点击F3调出您的名称并选择它以将其粘贴给您。
不,你应该有一个下拉框,其中显示旁边有面试官的人员。
该OFFSET()
函数使用INDEX()
函数查看 A1:A10 并为我们返回单元格引用。MATCH()
用于提供包含第一次出现的“interviewer”的行。因此 Index 返回 Offset 的第一个参数。一行中的三个逗号是因为我们不想将参考点移动任何行或列。
但是我们确实想改变高度!这很神奇,因为 Offset 可用于为我们创建一个范围。我们的高度是通过COUNTIF()
查看列B1:B10
并在您的示例中返回 2 来计算的。现在 Offset 函数使用第一个参考单元格和高度 2 为我们构建一个恰好包含面试官姓名的范围。
再次,这只有当您可以按 B 列排序时才会起作用,以便所有采访和采访者的值都在一个范围内。