簡體   English   中英

使用布爾值,match或sumif將Excel字符串與轉義字符進行比較

[英]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 ,而MATCHSUMIFS假定為True

僅有限數量的Excel工作表函數可以使用通配符來過濾結果。 像功能COUNTIFVLOOKUPMATCH等,作為上市這里是使用通配符一些Excel函數。

除鏈接中列出的功能外,在雙引號中使用通配符*其含義與文字相同。

在我看來,這兩個函數均采用星號的通配符解釋,而帶有'='的直接比較公式會將其當作引號內字符串中的另一個字符(額外),從而使兩個字符串不同。

在函數Match()中時:如果match_type為0並且lookup_value為text,則lookup_value可以包含通配符星號(*)和問號(?)。 星號匹配任何字符序列; 問號與任何單個字符匹配。

我希望這是有道理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM