Office 實戰案例分享,做有意義的事情,每天進步一點點,今天比昨天好,這不就是希望麼?
問題:
今天在頭條問答看到這麼一個問題,覺得比較典型,所以想跟大家分享一下,一般碰到這種問題,我們應該如何處理?
如上圖所示,就是明明相同卻顯示不同?
這個問題比較典型,在使用公式的時候經常會碰到類似的問題,尤其是vlookup和數據透視表時:
1.vlookup——對引用和參參考的數據源的匹配要求很嚴格,稍微不一樣,就可能導致出不來結果,所以你們經常可以在頭條或者網上看到其他自媒體同行發佈的vlookup常見14或者20種錯誤原因及處理方法等文章;
2.數據透視表——我們在做統計分析的時候,有沒有遇到過,明明是相同的字段,可是在結果呈現的時候,計算結果卻並沒有合併在一起,而是分了2個甚至多個,是不是很困惑啊?
諸如此類的太多了,不勝枚舉, 我們先不管明明是誰?是不是好想靜靜。。。
思路:
之所以出現這種情況,在於我們有時候過於相信自己的眼睛,不是說"眼見為實,耳聽為虛"麼?但生活中很多經驗告訴我們,眼睛看到的未必是真實的,有時候我們也會被矇騙而導致認知偏差。尤其是互聯網時代,到處充斥著"照騙" .
書歸正傳, 你所以為的明明相同其實是犯了經驗主義錯誤,你應該是根據眼睛看到的,但所見未必為真,通常發生在文字中有空格啊,或者不可見非打印字符等情況。
碰到提示異常或者不一致的情況,要如何處理?
步驟:
1.確認異常
我們已經知道了存在不一致的情況,那麼要找出原因才能對症下藥。
首先以 Len函數 判斷文本長度,看是否一致。很明顯我們看上去一致的,拿函數一測就知道不一致了,這個函數很好用,只要是存在的不管可見不可見都是佔用字符長度的,都能抓出來。
(VBA中用這個函數判斷是否為空值,據說還有效率優勢哦,這個函數真不錯,嘿嘿)
if cell(1,2).value="" then
if len( cell(1,2).value)=0 then
可以看出,兩者字符長度不一致,猜測可能有非打印字符存在。
2.分解字符
通常是在文本前或者之後,我們可以用 Left 或者
Right 函數,甚至於 Mid 函數,來分解每個字符.3.求解字符編碼
將分解的字符用 Code 函數判斷,你就可以發現究竟是哪種非打印字符,因為其對應的ASCII碼咋計算中都有對應的編號。
注意: CODE 函數只返回第一個字符 的ASCII碼。
既然是最後一個字符有問題,我們來判定一下,得出結果是32。
4.找出對應字符
32對應什麼碼?
我們可以配合
char 函數,這個函數會將對應的碼轉化成相應的字符。比如五角星對應的ASCII碼是41455,那麼=char(41455)就會出現五角星。
code和char是一對好基友,通常一起出現,互相配合。
但是有些看不見的字符用這種辦法就不大靈光了,因為你看不見,這時候我們可以搜索百度一下即可, 查到32對應的是空格符拉。
5.替換字符
替換這些異常字符,用 ctrl+H ,查找項輸入異常字符:
- 可以用複製
- 或者利用alt+數字小鍵盤數字的方式輸入——達到類似char(ASCII code)的效果
替換項留空即可處理完畢。
6.比較確認
最後再比較,看看問題是不是已經完全被修復,可以用:
- =判斷
- 或者exact函數判斷。
這時候已經match了,修復完畢,你可以繼續你未完成的事業了。
長吁一口氣~~~~~~~~~~~~~
總結:
跟數據打交道,有時候就要保持懷疑和謹慎的態度,在統計分析的時候,以後碰到類似問題,請大家按照上面的步驟自查應該可以解決大部分問題。
文本函數在這裡起了很大的作用哦,關於用法,這裡沒有詳細講,還未掌握的,大家下去可以稍微學習下,都比較簡單:
- LEN
- RIGHT/LEFT/MID
- CODE/CHAR
- =/EXACT
喜歡的請關注|收藏|點贊|轉發|評論吧,刻意練習,並獲得正面反饋是精進成長的必要法寶,而你的互動將有助於你我共同的成長,謝謝!
————
運營:Excel365
閱讀更多 天天Excel 的文章