Google sheets 如果单元格包含,则返回具有更多值的特定值和返回可能性
我有一张包含以下列的表格: 第1列:包含表格“TS001”、“TS002”、“DR001”、“MS002”等的文本。 开头的两个字母是制造商名称的代码,例如“MS=Microsoft”。 对于第二列,我希望有一个公式,通过第一列搜索这些字母,然后返回制造商的完整名称 例如,它应该是这样的: 第1栏 第2栏 MS001 微软 TS002 乐购 DR001 佩珀博士 TS003 乐购Google sheets 如果单元格包含,则返回具有更多值的特定值和返回可能性,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我有一张包含以下列的表格: 第1列:包含表格“TS001”、“TS002”、“DR001”、“MS002”等的文本。 开头的两个字母是制造商名称的代码,例如“MS=Microsoft”。 对于第二列,我希望有一个公式,通过第一列搜索这些字母,然后返回制造商的完整名称 例如,它应该是这样的: 第1栏 第2栏 MS001 微软 TS002 乐购 DR001 佩珀博士 TS003 乐购 为了实现你想要的,你需要在某处列出两个字母代码和相应的公司名称 与所有vba一样,有很多方法可以做到这一点,但我可能
为了实现你想要的,你需要在某处列出两个字母代码和相应的公司名称 与所有vba一样,有很多方法可以做到这一点,但我可能会将两个字母的代码和公司数据放入一个数组中,然后遍历col1,为col2创建所需的输出 例如,下面假设两个字母代码和公司名称分别位于col3和col4中,但您可以将其更改为它们所在的任何位置
Sub CompName()
Dim Cmpname () as string
Dim col1 as range, rng as range
Cmpname = range(range(“C1”), range(“D1048576”).end(xlup))
Set col1 = range(range(“A1”), range(“A1048576”).end(xlup))
For each rng in col1
For i = lbound(Cmpname, 1) to ubound(Cmpname, 1)
If left(rng, 2) = Cmpname(i, lbound(Cmpname, 2)) then
rng.offset(0,1) = Cmpname(i, ubound(Cmpname, 2))
Exit For
End if
Next
Next
End Sub
无可否认,我只是在手机上写了这篇文章,还没有测试过,但希望能有最小的错误。我只是重读了你的问题,意识到你可能真的想要一个公式,而不是vba代码 如果这是正确的,那么使用索引匹配可能是您的最佳选择 在本例中,我将假设与上述相同的设置-col3有公司代码,col4有公司名称-此公式可以插入到单元格B1中: =索引(D:D,匹配(左(A1,2),C:C,0)) 然后,您可以只填写col2中的其余条目
同样,在没有测试的情况下从内存中完成,所以希望能够正确完成。我只需要使用一个参考表和一个VLOOKUP公式 如果单元格
B7
包含“MS0001”
以下公式将尝试再次匹配位于单元格O7:P9
=VLOOKUP(MID(B7,1,2),O7:P9,2,FALSE)
当它找到“MS”时,将返回“Microsoft”当您说“MS=Microsoft”时,它意味着您在某个地方有一个带有该引用的表。出于以下示例的目的,我创建了一个名为ReferenceTable
的工作表,其中a列包含两个字母的代码,B列包含公司名称。看起来是这样的:
A.
B
太太
微软
TS
乐购
您需要共享一个包含所需结果的示例表。VBA和Google Apps脚本、Google Sheets和Excel是两个完全不同的框架。这对您有用吗?