Excel函数搜索具有特定值的单元格,然后返回相邻单元格的值

问题描述 投票:0回答:1

在 Excel 中,我试图了解需要哪些函数来在一列中查找提到的值。如果找到该值,它将转到同一行中的另一个单元格并打印该行的值。我了解需要发生的事情的逻辑,但不了解需要在 Excel 中使用哪些函数来完成此操作。

使用附图作为参考,我想在G列“关联测试项目”的所有内容中搜索“5”。每次遇到“5”时,我希望它在与“5”相同的行中打印 A 列“ROIN”的值。因此,在图片的情况下,它只会打印“573474”。该函数也不应该看到“65”中的“5”并返回“65”行列 A 值。

(https://i.stack.imgur.com/PwaNz.png)

我尝试过使用查找/搜索功能,但我对 Excel 编码语言的工作原理缺乏了解,这让我感到沮丧。我无法在网上找到解决这个特定问题的指南。

excel function organization self-organization
1个回答
0
投票

您需要使用 VBA 来做这样的事情并创建您自己的 Function()。

在您的情况下,G 列包含文本。然后,您需要创建一个函数来将文本拆分为整数值数组 - 然后测试每个值的值 5。

因此,如果您将其放入项目中的模块中(Alt + F11),则可以将其用作返回 True 或 False 的新函数。

Function Contains5(MyCell As Range) As Boolean
Dim MyArr() As String
Contains5 = False
On Error GoTo Err

MyArr = Split(MyCell.Value, ",")

For x = 0 To UBound(MyArr) - 1
If CInt(MyArr(x)) = 5 Then Contains5 = True: Exit Function
Next
Exit Function
Err:
MsgBox ("Error in Contains5 function")
Contains5 = False

End Function 

现在您可以在工作表中将其用作拖放功能,并参考您想要与其他功能结合返回的内容:

=IF(包含5(G2);I2;“不适用”)

© www.soinside.com 2019 - 2024. All rights reserved.