MS Excel 从上到下查找列

2024-02-08

我在寻找 LOOKUP 从上到下搜索列的方法时遇到问题。情况是这样的。我需要为 Excel 创建一个公式来搜索句子中的硬件部分。

例子 :

句子 (A1)

客户电脑无法开机。检查主板。主板故障。更换主板。 PSU 电量不足。更换电源。

这是查找范围列(硬件)

  • 更换电源
  • 更换主板

结果范围列(HARDWARE_PART)

  • PSU
  • 母板

我使用的公式是

LOOKUP(9999;SEARCH(HARDWARE;A1);HARDWARE_PART)

结果将是“主板”。因为LOOKUP会从下到上搜索列。

我现在要做的是让 LOOKUP 从上到下搜索该列,以便它可以检测到另一个替换部分。


使用命名范围是一个很好的步骤;动态命名范围甚至更好。然而,它们通过尝试将正确的相对行号返回给索引功能 https://support.office.com/en-us/article/index-function-0ee99cef-a811-4762-8cfb-a222dd31368a当它们不在第一行开始时。

我使用了两个命名范围(例如 HARDWARE 和 HARDWARE_PART)指:公式为,

=Sheet1!$AA$2:INDEX(Sheet1!$AA:$AA, MATCH("zzz",Sheet1!$AA:$AA))
=Sheet1!$AB$2:INDEX(Sheet1!$AB:$AB, MATCH("zzz",Sheet1!$AA:$AA))

这需要修改返回的行1因为他们从第二排开始。

B1中的标准公式是:

=IFERROR(INDEX(HARDWARE_PART, AGGREGATE(15, 6, (ROW(HARDWARE)-1)/ISNUMBER(SEARCH(HARDWARE, $A1)), COLUMN(A:A))), "")

按优先级降序填充后续匹配项的右侧。

An 错误函数 https://support.office.com/en-us/article/IFERROR-function-F59BACDC-78BD-4924-91DF-A869D0B08CD5“wrapper”可以避免显示#NUM!通过用零长度字符串替换错误返回来解决不匹配的错误。

如果您想反转优先级,请交换15 (小功能 https://support.office.com/en-us/article/SMALL-function-4050a82e-659a-4ef6-a970-c963a6f69c29) 骨料1 https://support.office.com/en-us/article/AGGREGATE-function-43B9278E-6AA7-4F17-92B6-E19993FA26DF选项14 (大函数 https://support.office.com/en-in/article/large-function-3688ad91-0b0c-43db-8ef8-825a5e5871db).

xl2010 之前的附录

对于无法使用 AGGREGATE 函数的 Excel 版本,此标准非 CSE 公式会重复结果。在 B1 中,

=IFERROR(INDEX(HARDWARE_PART, SMALL(INDEX(ROW(HARDWARE)-1+ISERROR(SEARCH(HARDWARE, $A1))*1E+99, , ), COLUMN(A:A))), "")

¹ The AGGREGATE function https://support.office.com/en-us/article/AGGREGATE-function-43B9278E-6AA7-4F17-92B6-E19993FA26DF was introduced with Excel 2010. It is not available in earlier versions.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MS Excel 从上到下查找列 的相关文章

  • 结合使用 COUNTIF 和 VLOOKUP EXCEL

    我有多个电子表格workbook我想要以下基本内容English talk IF worksheet1 cell A3 出现在 工作表 2 B 列中 计算它在 工作表 2 b 列中出现的次数 换句话说 让我们说A3 BOB smith 在工
  • 如何使用 VBA 将符号/图标格式化为单元格而不使用条件格式

    我使用 VBA 代码放置条件格式以覆盖大型表格中的值 每个单元格使用 2 个公式来确定使用 3 个符号中的哪一个 我需要根据列使用不同的单元格检查每个单元格的值 因此据我了解 我必须将条件格式规则单独放置在每个单元格上 以确保每个单元格中的
  • 如何使用 SHDocVw.InternetExplorer 命令最大化由 VBA 创建的 IE 窗口?

    正如标题所示 我试图最大化使用以下命令创建的 Internet Explorer 窗口 Set ie New SHDocVw InternetExplorer 代替 Set ie CreateObject InternetExplorer
  • Excel UserForm 动态 TextBox 控件退出事件

    UPDATE 经过对对象浏览器的进一步研究 看来MSForms TextBox既没有实现 Name财产或 Exit事件 仅 Change事件 有没有办法确定具体是哪个TextBox生成更改事件 或者可以使用MSForms Control用这
  • Excel函数:引用单元格中的数组

    我在单元格 A1 中有一个数组 通过 A1 G6 J6 aa b ccc 1 现在我想将单元格 A1 用于 B1 中的数组公式 基本上B1应该是 B1 SUMPRODUKT C6 C12 B6 B12 G6 J6 但我不想直接引用 G6 J
  • 如何防止Excel单元格中前导零自动截断

    如果我粘贴04562 它会自动截断前导零并将其存储为4562 我希望将其存储为04562 如果您使用 MS Excel 编辑需要存储带前导零的数字的单元格 只需将单元格内容格式化并定义为文本即可 如果您以编程方式存储它 则可以将该值放在引号
  • 如何在Excel VBA中获取给定模块名称的函数和子列表

    我正在开发一个帮助宏 它可以查看活动 Excel 工作簿上给定模块名称的列表函数 例如 我有一个模块名称 Module1 该模块内部有以下功能或子功能 Sub Sub1 End Sub Sub Sub2 End Sub Function F
  • Excel VBA:通过快捷键运行打开文档后宏挂起,但从 VB 编辑器运行完美

    我遇到了一个奇怪的问题 我决定分配一个键盘快捷键Ctrl Shift P我的 VBA 例程之一 该例程假设打开一个现有的 Excel 工作簿 复制一些信息并 SaveAs另一个名字 当我在 Visual Basic 编辑器中点击 播放 时
  • 在 Objective-C (iPhone) 中从 Excel 文件读取数据 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 google 中搜索过 但似乎没有找到从 Objective C 读取 Excel 文件的方法 我找到的唯一答案是首先转换为 CSV
  • Excel Active-X 按钮无法单击

    我有一个在 Excel 中应该可以点击的按钮 当我尝试单击它时 什么也没有发生 我注意到 如果我单击并按住右下角的鼠标 则会出现第二个按钮 这种情况过去发生过 当我移动鼠标单击该按钮时 我可以单击 一切都会正常 但这一次 当我移动鼠标时 按
  • 在 C# 中更改 Excel 单元格格式

    如何使用 C 中的 Microsoft Excel 12 0 库更改 Excel 中单元格的格式 更具体地说 我想将给定单元格更改为文本格式 我读过了 net c 改变Excel单元格格式 https stackoverflow com q
  • 带有 For 循环的多维数组 VBA

    尝试检查第一列中的值 即多维数组中的列 如果它匹配 则对另一列中与该行匹配的值进行排序 我认为我做错了 但这是我第一次搞乱多维数组 我是否需要在每个 for 循环中使用 UBound 和 LBound 来告诉它要查看哪一列 除了当前问题的答
  • 有没有一种方法可以通过对一列求和并基于另一列来提取数据

    我正在尝试按帐户按月汇总金额 并将结果按帐户显示在另一个单元格中 AND E1 gt MONTH E1 E8 SUMPRODUCT F 1 F 8 gt MONTH E1 E8 6 D 1 F 8 D1 gt 0 6 Account Amo
  • 如何填充上次保存的用户和文件的上次保存日期

    我有下面的代码从文件夹中获取文件名 Sub GetFileNames Assessed As T2 Dim sPath As String sFile As String Dim iRow As Long iCol As Long Dim
  • VBA Office2010 Shapes.PasteSpecial 失败

    我在将 VBA 代码从 Office2003 迁移到 Office2010 时遇到问题 我想将单元格 Excel 的文本复制到Powerpoint Office2003生成了一个新的文本框 文本样式与Excel中相同 现在我的代码在 Off
  • 任务执行期间在任务窗格上滚动时工作表冻结

    我们正在使用office js API 开发一个office Addin 反复出现的问题损害了我们在店里的声誉 此问题是 Excel 插件 office js 中的工作表在滚动后被冻结 我编写了一个简单的脚本实验室片段代码 它重现了工作表冻
  • 更改使用 ClosedXML 显示的工作表

    我正在使用 ClosedXML 动态创建包含多个工作表的 Excel 工作簿 生成内容后 我正在努力将所选工作表更改回工作簿中的第一个工作表 并且在文档中找不到有关如何更改显示的工作表的任何内容 我努力了 wb Worksheet 1 Se
  • 有没有办法设置一个变量一次并在多个地方使用它而不给它模块级别的范围?

    我有一个循环将用户窗体控件添加到集合中 由于多个地方都需要该集合 因此我将其放入模块中并在需要时调用它 这意味着该集合仅在需要时才位于内存中 但这也意味着我每次想要使用它时都会运行一个循环 I could已给出集合模块级别范围并在第一次需要
  • 有没有办法使用 openpyxl 或 xlsxwriter 保护工作簿?

    我正在尝试自动化 Excel 报告 并且我希望用户不要尝试重命名或重新排序工作表 虽然我使用 xlsxwriter 保护单个单元格没有问题 但我没有看到保护工作簿本身的选项 我正在寻找 openpyxl 但教程似乎没有任何效果 编辑 我现在
  • VBA rand 如何使用上限和下限生成随机数?

    所以也许这是多余的 也许这就像问为什么大多数人生来就有 5 个手指 最后的简短答案总是 因为事情就是这样 而且它就是这样工作的 但我讨厌这个答案 该死的我想知道怎么做VBA 中的 Rnd 函数有效 Ms Office Excel 的 MSD

随机推荐

  • 如何重新排列 gtsummary 或 flextable 中的列?

    参考这个答案 置信区间 https stackoverflow com a 66891473 13734451 https stackoverflow com a 66891473 13734451 如何重新排列 gtsummary 或 f
  • 如何将 pdftk 添加到 Heroku Cedar 应用程序?

    我需要在 Heroku Cedar Rails 应用程序中将多个 PDF 文件合并为一个 并决定使用 pdftk 来完成此操作 我不知道如何做到这一点 我认为最好的方法是创建一个自定义构建包 其中包含 pdftk 的编译二进制文件 但我不太
  • ruby 中日期的比较

    如何将特定日期与今天进行比较以了解该特定日期是否大于今天 谢谢哈里什 date 2010 07 20 to date 20th July today Date today 21st July if date gt today puts da
  • 在导出 Android 应用程序向导中为 Android 应用程序生成密钥库?

    我正在尝试在 Eclipse 中导出已签名的 Android 应用程序 我认为我正朝着正确的方向前进 右键单击项目 gt 安卓工具 gt 导出已签名的申请包 将出现 导出 Android 应用程序 向导 选择我要导出的项目 点击Next 出
  • 如何使用 Objective C 在 SQLITE 中启用外键约束

    今天我注意到我的 SQLite 表上的外键约束不起作用 在阅读 Stack Overflow 后 我发现应该启用此功能 所以 我正在寻找执行此操作的代码片段 到目前为止 我只能找到这个 self db executeUpdate PRAGM
  • 在VBA中同时设置单元格左边框和右边框

    想知道是否有办法用一条语句设置单元格的左边框和右边框 类似的东西msgBox配置可以组合 添加在一起 例如vbYesNo vbQuestion 我试过 Cells j i Borders xlEdgeLeft xlEdgeRight 这给我
  • 如何使用 SQL Server 数据库中的值填充列表?

    该列表将根据我的数据库中有多少项目而增长和缩小 我需要填充列表而不是列表框 我知道我需要打开一个连接 using var conn new SqlConnection Properties Settings Default DBConnec
  • java bean如何将多个对象封装成一个

    在定义中说 java bean将许多对象封装成一个对象 Bean 这里的 许多对象 是什么意思以及java bean如何将它们封装成一个对象 None
  • 如何在 python 中使用 ipython 笔记本 Markdown 单元格的内容

    在 IPython 中 我们可以通过以下方式获取先前的输出和输入Out n and In n 变量 是否可以使用 Markdown 笔记本单元的内容并在 python 中使用它 我想在 Markdown 单元格中写入一些文本 This is
  • TouchsMoved 以不规则的间隔调用

    我正在为 iOS 制作一款游戏 您主要在屏幕上拖动大对象 当我在实际的 iPad iPhone 上运行游戏一段时间 连续在屏幕上画圈拖动对象 时 每隔 5 分钟左右拖动的对象会卡顿约 10 30 秒 然后 它又恢复如丝般光滑的移动状态 从视
  • Delphi中如何区分多个键盘?

    我的电脑上连接了两个键盘 一个用于输入 TMemo1 另一个用于输入 TMemo2 两者都可以同时打字 问题是我无法区分键盘一输入的内容和键盘二输入的内容 有没有办法区分某些输入来自哪个设备 Dian 你可以使用注册原始输入设备 http
  • struct.error:解包需要长度为 16 的字符串参数

    处理 PDF 时文件 2 pdf https yadi sk i 2vABlTaexZerg使用 pdfminer pdf2txt py 我收到以下错误 pdf2txt py 2 pdf Traceback most recent call
  • 以编程方式将产品添加到购物车并更改价格

    我想以编程方式将产品添加到购物车 另外 我想在添加到购物车时更改产品价格 假设我的产品价格是 100 美元 添加到购物车后我想将其更改为 90 美元 我将产品添加到购物车 但是 我无法更改产品价格 是否可以 以下是将产品添加到购物车的代码
  • 使用 nginx/gunicorn 进行 Django 文件上传 - 媒体权限

    我试图允许 django 站点的用户通过模型上的 FileField 将文件 主要是 PDF 上传到我的服务器 但是 当我尝试使用我的模型表单生成的上传字段时 我不断遇到 Errno 13 Permission Denied 我在四处寻找时
  • ConcurrentDictionary.GetOrAdd 真的是线程安全的吗?

    我有这段代码 如果该任务是为相同的输入创建的 我想等待正在进行的任务 这是我正在做的事情的最小再现 private static ConcurrentDictionary
  • Jetty SSL 配置 Apache karaf

    我正在尝试配置 Jetty 以在 Apache Karaf OSGI 容器中使用 SSL http 有效 但 https 无效 可能是什么问题呢 我的配置详细信息如下 等 jetty xml
  • 在 Weblogic 中配置容器管理的安全性

    有人知道这方面的任何指南吗 我是 weblogic 和容器管理安全性的新手 我已经做的是 在 Weblogic 中设置 LDAP 身份验证器 在 Eclipse 中创建一个简单的 Web 应用程序 配置 web xml 添加了 securi
  • 使用 ClassFileTransformer.transform 进行字节码检测

    我写了一个类premain方法并在该方法中我添加了一个ClassFileTransformer to Instrumentation Instrumentation addTransformer 我已经使用调用了一个应用程序 java ja
  • Django 中的对象所有权

    我想知道如何使用 django 模型完成一个简单的 对象所有权 系统 这样默认情况下 只有对象的所有者可以编辑它 我试图允许 管理 组代表对象所有者编辑所有对象 并且此时添加了自定义权限 class Meta permissions man
  • MS Excel 从上到下查找列

    我在寻找 LOOKUP 从上到下搜索列的方法时遇到问题 情况是这样的 我需要为 Excel 创建一个公式来搜索句子中的硬件部分 例子 句子 A1 客户电脑无法开机 检查主板 主板故障 更换主板 PSU 电量不足 更换电源 这是查找范围列 硬