如果列术语与范围B中的文本匹配等于或小于,则插入另一列

时间:2016-06-03 11:28:25

标签: excel excel-vba excel-formula vba

附图大致说明了我要做的事情,上图和下图说明了12k图片的集合,我需要关联附加图像中间部分描绘的id

我知道我一直在使用VBA,但公式也可以。

这是我想要完成的事情:

screenshot of data

这是我试过的代码:

Sub Find_Matches()
    Dim CompareRange As Variant, ToCompare As Variant, x As Variant, y As Variant
    Set CompareRange = Worksheets("ID_proptitle").Range("B1:A500")
    Set ToCompare = Worksheets("pictures").Range("B1:C500")
    For Each x In ToCompare
        For Each y In CompareRange
            If x = y Then

2 个答案:

答案 0 :(得分:1)

假设唯一的查找值应该是图片名称中的所有内容减去=0001(或=0002等),那么INDEX& MATCH公式应该可以解决问题。请尝试以下方法:

=INDEX(ID_proptitle!A:B,MATCH(LEFT(A2,LEN(A1)-4),ID_proptitle!B:B,0),1)

根据ID_proptitle字段中的值,减去最后4个字符prop_title等,在post_title表中查找匹配的=0001名称。 ),然后返回A列中的相应值

答案 1 :(得分:1)

由于图片的命名似乎并不总是遵循相同的惯例(有时还包括货币值?),您可以尝试以下方法:

=INDEX(ID_proptitle!$A:$A,MATCH(LEFT($A2,LEN($A2)*0.7),ID_proptitle!$B:$B,1),1)

然而,匹配不会进行精确匹配,因此如果您的属性名称非常相似,则需要小心。你也可以玩0.7。