在列和匹配中查找值

时间:2017-02-22 12:02:19

标签: excel vba

该死的!我再次陷入困境。

我尝试过一些帮助列来整理1列中的信息,然后告诉我这个值是否相似。

我现在拥有的是,

A列中的

D3875 HMG XS
D3875 BGE XS
D3874 BGE XS
I3874 BGE XS

我想用数字来查看我是否在字符串的开头有D和I,因为这意味着我的值被批准了。

编辑 - 列中只有一些单元格具有相同的值,在开头处有D和I.在abowe例子中它是

D3874 BGE XS
I3874 BGE XS

我能以某种方式(不知道现在怎么样)让我们说一个循环,我在A列中取第一个值,例如D3875 HMG XS,并在列中使用3875 HMG XS循环,直到我找到一个具有相同的单元格价值是否在开头时持有I而不是D?

4 个答案:

答案 0 :(得分:3)

使用IFLEFT的组合来提取第一个字符并检查其DI

=IF(OR(LEFT(A1, 1)="D", LEFT(A1, 1)="I"), "Approved", "Not Approved")

答案 1 :(得分:2)

您可以使用以下内容:

在Cell B1中:

=IF(LEFT(A1,1)="D","Approved",IF(LEFT(A1,1)="I","Approved","Not Approved"))

结果将是:

如果A1中的文字以D或I开头,则B1会说"已批准"否则,您猜对了,"未批准"。只需向下拖动即可到达所有必需的单元格希望这会有所帮助。

答案 2 :(得分:1)

这是另一种实现同样目标的方法。虽然如果您打算添加的不仅仅是两个条件(I and D),那么我会继续这样做:

=IF(ISNA(MATCH(LEFT(A1),{"D","I"},0)),"Not Approved","Approved")

您可以通过以下任何一种方式扩展,以包含更多条件

=IF(ISNA(MATCH(LEFT(A1),{"D","I","A","B"},0)),"Not Approved","Approved")
=IF(ISNA(MATCH(LEFT(A1),A1:A4,0)),"Not Approved","Approved")

A1:A4在上一个示例中包含您的条件。

答案 3 :(得分:1)

这将找到是否同时包含I和D前缀的数字,如果是,如果不是Approved,它将返回Not Approved

=IF(COUNTIF(A:A,IF(LEFT(A1,1)="D","I","D")&MID(A1,2,LEN(A1))),"Approved","Not Approved")

enter image description here

注:

仅当ID是唯一的前缀时才有效,否则您将获得误报。