![](/img/trans.png)
[英]Trying to sum values in excel table using column data comparisons and sumif
[英]Excel string comparisons with escape character, using boolean, match or sumif
當我在數據庫中進行文本比較時,我注意到一些奇怪的行為。 在我的數據庫中,我想基於包含字符串的列求和。 在此示例中,我想使用以下字符串值創建一個str
組和一個txt
組。
str 2
str1 1
str2 0
txt 1
txt1 2
tx2 3
如果我將文本與simpel布爾值(即=(“ str” =“ str *”))進行比較,則會返回False
,因為*
是附加字符。 這在某種意義上是有意義的。 但是,當我使用其他兩種技術時,比較的處理方式有所不同:
首先,以下簡單的SUMIFS函數: =SUMIFS(B:B;A:A;"str*")
和=SUMIFS(B:B;A:A;"txt*")
包含“ str”和“ txt”,表明比較為True
。
其次, =Match("str*";{Cell containing "str"};0)
返回1,指示比較也返回True
。
為什么布爾字符串比較返回False
,而MATCH
和SUMIFS
假定為True
?
僅有限數量的Excel工作表函數可以使用通配符來過濾結果。 像功能COUNTIF
, VLOOKUP
, MATCH
等,作為上市這里是使用通配符一些Excel函數。
除鏈接中列出的功能外,在雙引號中使用通配符*
其含義與文字相同。
在我看來,這兩個函數均采用星號的通配符解釋,而帶有'='的直接比較公式會將其當作引號內字符串中的另一個字符(額外),從而使兩個字符串不同。
在函數Match()中時:如果match_type為0並且lookup_value為text,則lookup_value可以包含通配符星號(*)和問號(?)。 星號匹配任何字符序列; 問號與任何單個字符匹配。
我希望這是有道理的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.