excel - 验证行值和检索列的公式
问题描述
我在 Excel 中有一个表格,如附图所示(直到 F 列),并希望看到最后一列“结果”:
结果列应检索行值为“IF”的列名称。
我可以在 Excel 中使用 IF 函数,但如果有 20 列需要检查,那将是一个很长的语句,我必须编写它来检索最终输出。
解决方案
如果您可以创建 UDF(用户定义函数),那么您基本上可以创建自己的工作表函数来执行此操作。
在此函数中,您将在输入范围内进行快速循环,并检查该范围内的任何单元格是否等于“IF”。如果是这样,您将从属性中删除列字母.Address
。
Public Function getIFCols(ByVal rng As Range) As String
Dim retVal As String, cel As Range
For Each cel In rng.Cells
If cel.Value = "IF" Then
retVal = Trim(retVal & " " & colLtr(cel))
End If
Next
getIFCols = Replace(retVal, " ", ", ")
End Function
Private Function colLtr(colRng As Range) As String
colLtr = Split(colRng.Address, "$")(1)
End Function
您将这样调用此函数:
=getIFCols(B1:F1)
这个函数的好处是它不需要一定数量的列。因此,如果您需要在一行上检查 3 列,在另一行上检查 10 列,这是非常动态的。
推荐阅读
- angular - Angular ngbPopover,如何从子组件打开弹出窗口
- java - 如何解决由于循环内繁重的数据库调用而导致的事务超时 - EJB
- java - 是否可以限制 COMOS DB 触发器以进行插入操作?
- python-3.x - Python Parallel SSH - 如何传递多个用户名和密码
- visual-studio-code - 如何获取所有打开文件的列表?
- node.js - 验证用户后呈现主页出现问题
- javascript - 引导组件在 Architect UI 模板中不起作用
- android - 如何为 Recyclerview 中未选择的其他项目设置操作
- azure - 有没有办法使用端口 80 或 443 连接到 Azure 虚拟机上的 Kafka?如果不是,为什么?
- dialogflow-es - 收到错误“错误:14 不可用:未建立连接”