根据标准

时间:2018-03-21 15:47:36

标签: excel vba excel-vba

我有一张excel表,有两列Col“A”& Col“B”

Image click here

在col“A”中,我的值为1,1,1 - 3次& 2,2,2,2 - 4次

并且在col“B”中我有,是,是,对应于A列值1,1,1&

是,否,是否对应于列“A”值2,2,2,2,如图所示。

现在我想基于像

这样的编码在col“C”中添加一些值

如果col“A”1,1,1在col“B”中所有值都是,那么在Col“C”中放置一些类似“重复”的文本col“A”的每个值的前面

如果col“A”2,2,2,2所有值都不同,例如yes,no,yes,no in col“B”则将一些文本类似“both”放在Col“C”中< / strong>在col“A”的每个值前面

例如见下图.-

image 2 click here

-it将检查col“A”中的所有相似值首先假设它先取“1”然后它将检查col“B”中的相应值,它将继续检查所有值col“B”中的“1”如果所有值都为“是”,那么它将简单地将“重复”放在每个“1”前面的col“C”中

- 如果所有值都为“是”,它将再次检查col“B”中“2”的所有值,然后它将简单地将“重复”放在每个“前面”的“C”前面。 2“但你可以看到所有值在”2“前面都不相同,有些是”是“,有些在”B“中是”否“,所以如果”2“中的所有值都不相同”然后它会把“两个在col”C“放在每个”2“

之前

我想知道有没有这样做的公式或者需要vba代码。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果你有Excel 2016,你可以使用嵌套在COUNTIFS中的IF,如:

Countifs将根据两个条件对值进行计数。

=IF(COUNTIF($A$1:$A$7,A1)=COUNTIFS($A$1:$A$7,A1,$B$1:$B$7,B1),"Repeating","Both")

Screenshot of Data to repeat

您可以嵌套第三个条件:

=IF(B1="may be","Confirm",IF(COUNTIF($A$1:$A$9,A1)=COUNTIFS($A$1:$A$9,A1,$B$1:$B$9,B1),"Repeating","Both"))

<强>解释

  

该公式由两个条件IF嵌套:

组成      

第一个IF(B1="may be","Confirm"评估时间B1 = "may be"是否为true   "Confirm"它会返回false

     

IF何时开始第二个COUNTIF($A$1:$A$9,A1)来比较一个条件:

     

Countsif - A函数计算范围内的值   基于一个条件。在这种情况下,标准是每个单元格   列$A$1:$A$9并计算该值在该范围内的次数   COUNTIFS($A$1:$A$9,A1,$B$1:$B$9,B1)

     

Countifs - A功能计数   基于多个条件的范围内的值。在这种情况下,它是   根据{{​​1}}和B中每个值的两个条件进行计数。

评估第二个条件:

  

对于C1:

     

COUNTIF($A$1:$A$9,A1) = 3该范围内值(1)的3倍   $A$1:$A$9

     

COUNTIFS($A$1:$A$9,A1,$B$1:$B$9,B1) = 3 3倍于值(1)和(是)。

     

所以,如果3 = 3则“重复”。

     

对于C4:

     

COUNTIF($A$1:$A$9,A4) = 4该范围内值(2)的4倍   $A$1:$A$9

     

COUNTIFS($A$1:$A$9,A4,$B$1:$B$9,B4) = 2 2倍于值(2)和(是)。

     

因此,如果4 = 2为假,则返回“Both”。