【发布时间】:2017-09-21 15:50:44
【问题描述】:
我在 Excel VBA 中使用索引匹配公式从数据库中查找工具的零件号和描述。这是一个带有条件的索引匹配公式。首先在某个数组中查找机器工具类型的匹配项,然后将其与某个数组中的配置进行匹配。
我的问题是我想更改查找方式,因为我使用公式编写特定范围并且我希望它具有灵活性,这样如果我在数据库中添加新行,我就不需要更改代码。数据库是一个表名“Illuminators”。
这是我之前使用的条件公式,您可以看到有一个单元格引用,如果我要在数组下的数据库表中添加一个新工具,它就不会在那里查找它。
Selection.FormulaArray = "=INDEX(DB!R2C1:R21C7,MATCH(1,(DB_Illumiators!R2C1:R21C1=RC[1])*(DB_Illumiators!R2C2:R21C2=RC[2]),0),4)"
我在主工作表中循环使用公式,并从第二张图片的数据库工作表中使用它:
我会感谢那些帮助过的人
拉斐尔
【问题讨论】:
-
将
R2C1:R21C7更改为C1:C7或者如果您不想查找整个列(可能会很慢)更改为您知道数据不会超出的非常大的内容(例如 - @ 987654328@
标签: vba excel excel-formula array-formulas