我有一个表,我希望计算另一个表中数据的一个属性的条目,条件是其他属性(数据列)。
所以我有一个摘要表格,如:
=countifs(data type, "="&ColTags, data color, "="&ColTags, ...)
ColTags是摘要网格中列的标题标记。
现在我想补充一点,只能汇总数据中的某些行而不是所有行(基本上都是过滤器)。所以我在 countifs 中添加了一个标准,如:
data city, "="&CityTag
其中CityTag引用一个单元格,用户可以(可选)进入城市以过滤摘要条目。我把" *"在该单元格中作为默认值,并且它具有所需的无效效果(如预期的那样),如果我在那里放置一个城市名称" Texas"然后它只适当地显示该城市的摘要。喝彩。
它允许一种简单的方法,在任何城市的摘要表上选择用户过滤(选择),或者不允许。
除了数据表中的数字条目外,它可以找到。
对于他们来说,做同样的事情,但在选择单元格(PriceTag)中输入数字会失败。也就是说,基本上:" 6 = *"失败。但是如果我使用算术比较运算符,
data Price, ">="&PriceTag
它有效。但只是进入" *"通配符似乎不适用于数字条目,它只能进行实际值比较。
例如;
countif( A1,"="&A2)
for: A1 A2
abc * -> 1
abc x -> 0
abc abc -> 1
但
6 * -> 0 ??
6 5 -> 0
6 6 -> 1
似乎Excel正在尝试自动识别和输入数字,并对通配符进行不同的处理,因此没有匹配" *"对于数字?
我试图通过在选择Tag单元格中实际放置条件(而不仅仅是值)来解决这个问题,如下所示:
countif( ... data Price, PriceTag )
然后在Tag单元格实际放置:
"<100" or such...
再一次很好用,但我找不到任何值,这是一个无操作,即像元字符&#34; *&#34;是为了文字。我必须使用一个巨大的数字作为数字默认值,但对于任何具有空白价格字段(我有)的情况都会失败,使其与无操作默认值不同。
尝试&#34; = *&#34;因为操作似乎不起作用,因为它似乎想要进行数字比较。
所以考虑到这一点,我想知道有关#34;或者#34;的一些解决方法。 countifs 函数的条件,现在只接受一系列AND条件。要有一些等同的条件:
(PriceTag="*")||(data price, PriceTag)
一种方法是将 countifs 嵌入if语句中;
=if( PriceTag="*", Long-Countifs-without-Price, Long-countifs-with-price)
但这显然是凌乱的,因为我想允许两个这样的数字选择,甚至更糟。
这有什么好的Excel成语吗?或者我只需要用(+,*)术语转换为sumProduct? 试图这样做,术语:
...*(data city=CityTag)
(CityTag是一个包含*的单元格)评估为:
{ ...list of city names...} = "*"
给出了结果:
{ False, False, ... }
我希望{True,True,...}就像我得到的sumifs结果一样,所以我仍然没有一个好的解决方案。
答案 0 :(得分:1)
对于PriceTag中的默认条目,请使用&lt;&gt; x ,其中 x 是任何非数字字符。
= COUNTIFS(数据类型,ColTags,数据颜色,ColTags,数据价格,PriceTag)
答案 1 :(得分:1)
对于要用星号通配的数字和空白单元格,在COUNTIF / COUNTIFS中嵌套一个IF(),其中常量在中,并将这些返回值设为SUM,
=SUM(COUNTIF(A1,IF(A2="*",{"","<1e99"},A2)))
仅作为数组公式使用,必须使用Ctrl + Shift + Delete完成。如果您使用直接比较处理OR值的文本值(例如城市名称),则它将作为标准公式使用。
=SUM(COUNTIF(A1,{"abc","def",""}))
将={"abc","def",""}
放入单元格并使用单元格引用作为条件参数,这不起作用。