vba - 如何在异常的 Excel 矩阵中查找

标签 vba excel excel-formula

这可能会变得复杂......请多多包涵......

我有一张表格,根据我在研究中找到的内容,它是使用查找公式和函数的一种特殊情况。显示比描述容易得多,因此这里是我的数据的屏幕截图,以了解我正在使用的内容(实际表格向下延伸 60 行,向右延伸超过 160 列)。 enter image description here

(我将 A 列中的值称为“结果”,将第 2 行中的值称为“ block 编号”,将 block 编号下方的矩阵称为“引用编号”。)

我想要做的是创建一个公式,如果我插入给定的 block 编号(例如,“BA000-”)和引用编号(例如,“040”),Excel 将从排列的结果中返回一个列表有了这个(在我的示例标准的情况下,它将列出“BBB”、“CCC”、“EEE”、“FFF”和“KKK”)。

我已经研究了两天了,尝试了我能找到的每个查找函数和函数组合(包括但不限于 INDEX-MATCH、INDEX-MATCH-MATCH、VLOOKUP-HLOOKUP 等)。无论我使用什么功能,我都会不断出现错误。我还没有尝试过 VBA,只是因为我没有时间对此进行深入研究,但是我开始认为我将不得不屈服于黑暗的一面或切换到 Access(我的熟练程度远低于 Excel)。

任何帮助都将不胜感激,并获得 783 业力积分(或任何您希望我希望给您的个人放纵系统)。如果您需要任何进一步的信息,请随时告诉我。

编辑:我必须在平衡工作时间的同时解决这个问题(因为这是我一直在为我的工作进行的一个项目)所以这可能需要我一分钟,但我会试着找一张有更多信息的 table 来玩。在此期间,非常感谢大家到目前为止帮助我!

编辑#2:Here is a link到我正在使用的文件样本(托管在 Google Drive 上)。我已尽力使其尽可能简洁明了,但和以前一样,如果您需要有关它的任何其他信息,请告诉我。我正在使用的实际文件一直跨到 EP 列,但我认为这么大的文件是不必要的。

这是一个引用工具,用于查找特定组件在( Material list )中使用的模型。查找零件编号(在单独的文件中)后,您将获得一个 block 编号和该零件的引用编号,当在矩阵中交叉引用时,它会告诉您该组件用于哪个模型。我的目标是创建一个自动搜索工具,当用户输入 block 和引用编号时,将列出零件使用的所有模型(因为模型的实际列表虽然都是唯一的,但可能会变得很长并且过滤起来很乏味)。

和以前一样,非常感谢任何有助于实现这一目标的帮助。如果需要任何其他信息,请告诉我。

最佳答案

这是一个适合您的公式。在不知道您的确切范围的情况下,我选择使用您可以根据需要替换的命名范围。

使用的命名范围:

  • 结果 :这是 A 列中的“结果”列表(AAA、BBB 等)
  • block 头 :这是包含 block 编号(BA000-、BA010- 等)
  • 的标题行
  • 数据 :这是包含您的引用号(032、040 等)
  • 的数据表
  • 区 block 编号 :这是包含您要查找的特定 block 号的单元格(根据您的示例设置为 BA000-)
  • 引用号 :这是包含您要查找的特定引用号的单元格(根据您的示例设置为 040)

  • 使用这些命名范围,假设所有结果都是唯一的(如您的示例所示),该公式应该适用于您。我把这个公式放在一个单独的表格中,从单元格 B4 开始并复制下来:
    =IFERROR(INDEX(Results,MATCH(1,INDEX((COUNTIF($B$3:$B3,Results)=0)*(INDEX(tblData,0,MATCH(BlockNum,BlockHeaders,0))=RefNum),),0)),"")
    

    关于vba - 如何在异常的 Excel 矩阵中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44010137/

    相关文章:

    excel - 根据单元格列中 IF 语句生成的数据发送电子邮件?

    excel - 错误处理减法涉及字符串和数字

    java - 如何使用 POI + Java 获取数据透视表最后填充行号。 -版本 3.12.x

    excel - Excel 中符合条件的 VLOOKUP 函数的 SUM

    excel - 如何使用动态引用进行条件格式

    vba - 如何在Excel VBA中通过选择案例?

    c++ - ActiveX 属性(从 Visual Basic 访问)是否可以在运行时按程序生成?

    excel - 如果值相等则合并某一特定列的单元格

    excel - 从 Col1 和 Col2 中的文本写入 Col3 中的不匹配数据

    excel - 如果列和行是变量,则选择一个范围