Excel 如何基于列表自动完成值

Excel 如何基于列表自动完成值,excel,excel-formula,vba,Excel,Excel Formula,Vba,我创建了许多列表,它们越来越长。目前我正在使用数据验证,所以我有一个大的列表,需要选择我想要的名称 它们都列在我的公式上,所以我想知道是否有办法 开始写我需要的名字,excel已经显示了 可能性 我尝试使用这个公式,但没有成功 =OFFSET(Sheet1!$A$1,0,0,MATCH("*",Sheet1!$A$1:$A$300,-1),1) 例如,我有一份名为“CCY”的货币清单,我想写 “US”和excel已显示美元。有办法吗 =OFFSET(Currency,MATCH(A2&

我创建了许多列表,它们越来越长。目前我正在使用数据验证,所以我有一个大的列表,需要选择我想要的名称

它们都列在我的公式上,所以我想知道是否有办法 开始写我需要的名字,excel已经显示了 可能性

我尝试使用这个公式,但没有成功

=OFFSET(Sheet1!$A$1,0,0,MATCH("*",Sheet1!$A$1:$A$300,-1),1)
例如,我有一份名为“CCY”的货币清单,我想写 “US”和excel已显示美元。有办法吗

=OFFSET(Currency,MATCH(A2&"*",Currency,0)-1,0) 'A2 is where the validation applies, make sure it accepts values not in list
您可以在第二步中输入值,然后从中选择值。
我不会用它,但是

  • 它将允许您从下拉列表中选择任何值
  • 您可以通过快速键入“us”、Tab、Shift+Tab、Alt+Down和Tab来完成它的工作 下面的公式不允许您在之后选择值,只进行第一次匹配,小心处理

    =OFFSET(Currency,MATCH(A2&"*",Currency,0)-1,0,1,1) 'fun fact: you can give names to data table columns thus creating expanding lists
    

    我知道有一种方法可以在没有VBA的情况下使用autocomplete。它将数据样本放在表的正上方。当你开始写内容时,它会自动完成。这些公式也可以找到你的值,但如果没有人为的拦截,它们是不会写出来的。如果你对我的答案感到满意,请随意接受。对于VBA增强列表(实际上可以填补空白),请使用VBA标记提交/重新提交您的问题。