寫長算式的建議

更新於 2024/04/06閱讀時間約 4 分鐘
我們都想寫又簡單又好管理的算式,畢竟困難的又長又難寫啊 ( •́ _ •̀)
但生命中總會有不得已、必須把算式寫得很長、或是很多巢狀結構、一組括號又要包著一組括號的糾結時刻。想讓這樣複雜的算式執行成功、又要有易讀性,方便之後管理,其實不是件容易的事情。
所以呢,今天想分享幾項我在工作中實際用到的方法,在寫長算式的時候更不容易出錯的幾個小建議,給大家參考參考!

建議一:善用換行和空白鍵

假設我們今天有個算式:
=IFERROR(VLOOKUP(TRIM(MID(A1,10,50)),Validation!$A1:B50,2,false),"發現錯誤")
但如果分行整理成:
=IFERROR(
  VLOOKUP(
      TRIM(
          MID(A1,10,50)),
      Validation!$A1:B50,2,false
          ),
 "發現錯誤")
是不是會比較好讀一點點?原本看起來複雜,但現在應該可以看得出來由內而外是 MID、TRIM、VLOOKUP、IFERROR 這四個函式了吧?這樣一來,之後如果函式回傳錯誤,也比較容易層層抽絲剝繭下去,找到癥結點就可以排除錯誤了。
換行的方法很簡單,在你想換行的地方按 Command/Ctrl + Enter 就可以囉!我們看看效果:
Before
After
只是換行,瞬間清楚多了!

給正在努力寫 Google Apps Script 的朋友

如果你需要寫 setFormula() 或是陣列的 setFormulas() 這類需要大篇幅斷行的算式,字串的換行可以用 \n\ 完成,像是:
var formula = 
"=IFS(   \n\
    ...  \n\
    ...)"
ss.getRange("A10").setFormula(formula)
執行後,\n\ 也會幫你斷行,就會有 Ctrl/Command + Enter 的效果。

建議二:巢狀算式由內往外寫、一層一層來

內層的算式執行結果如果沒寫好,外部也很容易出現錯誤或是預料外的結果。
與其一開始就直接用外層的算式包到內部、又不考慮內層算式執行成果,不如先把內層寫好、確定執行結果是自己預期的之後再向外包一層,做完再包一層、再包、再包、再包...,這樣就不會那麼容易出錯了,尤其是得寫巢狀 IF、巢狀 QUERY、字串處理和擷取(LEFT/MID/RIGHT/FIND/LEN 等)的時候,我非常推薦這個做法!
如果寫的過程出現錯誤的話,可以搭配我之前寫過的錯誤疑難排解術來檢查問題出在哪喔。

建議三:檢查括號層級

如果你按照建議一妥善地斷行、建議二把巢狀算式整理乾淨後,卻還是出錯,那可以檢查看看括號是不是包含到了不該列入的算式。這種情況發生的原因通常是多打、或少打括號導致,只要耐心釐清括號的範圍該是哪裡到哪裡,補上或刪減不對的括號就大概可以解決了。

建議四:檢查絕對位址、相對位址

如果長算式發生錯誤,可以先確認你的長算式裡面有絕對位址(儲存格位址出現 $A$1 這類有「$」的符號)和相對位址(也就是位址沒有「$」的符號),可以再檢查一下位址是不是都妥妥指定好。如果你的算式是從別的儲存格貼過來的,也有可能會發生這樣的錯誤,把儲存格的位址梳理好也或許可以解決。

建議五:寫長的沒把握就先拆開來寫短的!

上面的方法都試過了,還是做不出來的話,其實人生不必活得那麼辛苦 (›´ω`‹ )!如果真的沒辦法在一個儲存格內一口氣寫完長的,把長的拆成短的處理、分在別的儲存格上先釐清問題,搞定了後再拼裝回去也是個方法。你可以考慮把原本長算式裡內層的部分先執行好,再用另外一個儲存格的算式包覆,結果還是出得來的。

簡單來說,只要把邏輯理清楚、斷行斷得好,或是把長的改成短的、分開處理,就算遇到長算式的難關也能迎刃而解,慢慢來、比較快!
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!
此篇文章會顯示動態置底廣告
為什麼會看到廣告
avatar-img
14.0K會員
147內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
快速找到資料中最大的數字(最大值)和最小的數字(最小值),只要三秒鐘!或許比你想像中還要簡單!
你知道 SELECT 除了回傳欄位、使用聚集函數外,還可以更進一步做加減乘除喔!這個系列是 QUERY 函式大解析的第六篇文章,如果還不知道什麼是 QUERY 的話,我還是很建議你從第一篇慢慢看、跟著我們的練習實際操作,就會更有概念囉~
有了 IF 之後,只要再加上一個 S,世界就會變得不一樣!IFS 可以判斷複數的條件,快速幫你整理分類資料,會了 IF,就順便多學一個 IFS 吧!
「喔就那個 VLOOKUP 啊」V...?V 什麼? VLOOKUP 能應用的範圍可以很廣,像是簡單的查表對照、資料驗證、跟 IF 的連動、加減乘除等等都能用上。今天想寫長一點的文章來稍稍說明一下 VLOOKUP 究竟是什麼,也附上好用的範例給大家參考參考!
日常生活中其實都會遇到不同的「如果...那就...不然...」,你也可以用試算表的 IF 幫你做資料的判斷!把麻煩事丟給電腦,還給自己清幽的人生,如何如何~
快速找到資料中最大的數字(最大值)和最小的數字(最小值),只要三秒鐘!或許比你想像中還要簡單!
你知道 SELECT 除了回傳欄位、使用聚集函數外,還可以更進一步做加減乘除喔!這個系列是 QUERY 函式大解析的第六篇文章,如果還不知道什麼是 QUERY 的話,我還是很建議你從第一篇慢慢看、跟著我們的練習實際操作,就會更有概念囉~
有了 IF 之後,只要再加上一個 S,世界就會變得不一樣!IFS 可以判斷複數的條件,快速幫你整理分類資料,會了 IF,就順便多學一個 IFS 吧!
「喔就那個 VLOOKUP 啊」V...?V 什麼? VLOOKUP 能應用的範圍可以很廣,像是簡單的查表對照、資料驗證、跟 IF 的連動、加減乘除等等都能用上。今天想寫長一點的文章來稍稍說明一下 VLOOKUP 究竟是什麼,也附上好用的範例給大家參考參考!
日常生活中其實都會遇到不同的「如果...那就...不然...」,你也可以用試算表的 IF 幫你做資料的判斷!把麻煩事丟給電腦,還給自己清幽的人生,如何如何~
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
一、前言 近日開始有一些創作者會來沙龍切磋故事寫作相關問題,這都很棒,大家能開開心心討論寫作技巧,這完全是好事! 不過這些討論被留在留言區實在有點可惜,所以從今天開始,會在徵詢大家同意後,不定時將這些問題和個人見解整理成文章,分享給關注沙龍的大家。 並且,憑我一己之力,很多時候也很難對每一個主
Thumbnail
大家好,我是烹飪睡覺泡茶喝(以下簡稱:茶茶),今天邀請到「曉潔的工作日誌」作者: Camellia。 茶茶:Camellia 妳好,很高興邀請妳來,聽說你之前都是寫短篇故事,這是你第一次嘗試長篇故事,能請你說說,為什麼會有這個想法嗎?
Thumbnail
#李笭自我流亂教時間 :本單元來自討論區的發問與交流,儘管問,我會努力寫成文章來回答! Q:小說大綱怎麼抓?字數怎麼估算? 「李笭,救命!我雖然寫出了劇情發展的大綱,真的下筆之後卻只能卡在幾千字以內。連短篇小說常見的一萬二千到一萬五千字的門檻都碰不到,是不是我很不會抓字數?」
Thumbnail
我以前在新竹學諮詢的地方,最近去參加研習班(註:已結束),同學們自己討論、研習,老師每隔一陣子會出現,另外約時間談。裏面有位同學是以下這個樣子的,老師說她在轉型,請她邀以前的同學一起組「投射研習班」,她是班長。   以前,她會時時站起來,走來走去,或是用跳的(好像看過,但是現在不能肯定,十多年前
Thumbnail
美國 7 月消費者物價指數 (CPI) 年增 3.2%,低於預期,加深投資人對聯準會 9 月暫停升息的預期,聯準會官員卻潑了市場冷水,美股主指週四 (10 日) 多驚險收紅。迪士尼收高近 5%,道瓊小漲超過 50 點,標普微升 0.03%,近乎持平,那指收紅 0.12%,費半獨弱 1.87%。
Thumbnail
許多老師、學生,開學了也尚未施打疫苗,使得多數孩子們暴露在高風險的環境中,家長卻也無能為力。 而為了解決這個問題,我們整理出了,哈佛醫學院 – 克萊爾麥卡錫醫師 給的 3 個建議,讓孩子們在開學時也能做好自身的保護,進一步降低感染風險,我們一起看下去吧 !
Thumbnail
可能沒有人一開始寫歌就設定「我想寫一首芭樂歌」,但我認為寫出芭樂歌是必須經歷的,至少是非天才型的芸芸眾生(本人),能有方向依循的創作模式,因為所謂的芭樂歌就是已經經過驗證,大家都覺得好聽的成功方程式,在有經驗之後再刁鑽和弦、節奏,才能找到個人風格,下面分享自己的創作順序與心法。
Thumbnail
現在的旅行早就不是那個需要徒步走到腳趾起水泡、得運動傷害的年代了。 就像現在也沒有多少人會記得,古時開始遍路,要先去一番札所靈山寺旁的阿波國一之宮大麻比古神社祈求道中安全,再行上路。  我籌劃遍路已經有好幾年了。
Thumbnail
最近訂閱承熙文章的人相較已往倍增,並且這半年來承熙的文章很大程度上不同於過去,所以動筆說明一下,算是「導讀」。承熙的投資宗旨是「安心又合理的獲利」,這始終是我最大的追求。唯有安心,投資方能長久。心安了就能專注本業,賺更多的錢,然後持續買進好公司的股票,時間久了,總有賺它個滿缽滿盆的一天。
Thumbnail
這挺輕機槍外表最大特色是20發裝彈匣在槍身上方。ZB26還有個特點是快拆槍管,槍管上的提把方便換槍管也方便持槍,持續射擊200發後須換槍管,也是,再厲害也會殺到手軟。重量10.5公斤,口徑7.92公釐,有效射程550公尺,最大射程1,000公尺,不是鋼鐵人的血肉之軀能擋得了嗎?能接近到進行肉搏戰嗎?
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
一、前言 近日開始有一些創作者會來沙龍切磋故事寫作相關問題,這都很棒,大家能開開心心討論寫作技巧,這完全是好事! 不過這些討論被留在留言區實在有點可惜,所以從今天開始,會在徵詢大家同意後,不定時將這些問題和個人見解整理成文章,分享給關注沙龍的大家。 並且,憑我一己之力,很多時候也很難對每一個主
Thumbnail
大家好,我是烹飪睡覺泡茶喝(以下簡稱:茶茶),今天邀請到「曉潔的工作日誌」作者: Camellia。 茶茶:Camellia 妳好,很高興邀請妳來,聽說你之前都是寫短篇故事,這是你第一次嘗試長篇故事,能請你說說,為什麼會有這個想法嗎?
Thumbnail
#李笭自我流亂教時間 :本單元來自討論區的發問與交流,儘管問,我會努力寫成文章來回答! Q:小說大綱怎麼抓?字數怎麼估算? 「李笭,救命!我雖然寫出了劇情發展的大綱,真的下筆之後卻只能卡在幾千字以內。連短篇小說常見的一萬二千到一萬五千字的門檻都碰不到,是不是我很不會抓字數?」
Thumbnail
我以前在新竹學諮詢的地方,最近去參加研習班(註:已結束),同學們自己討論、研習,老師每隔一陣子會出現,另外約時間談。裏面有位同學是以下這個樣子的,老師說她在轉型,請她邀以前的同學一起組「投射研習班」,她是班長。   以前,她會時時站起來,走來走去,或是用跳的(好像看過,但是現在不能肯定,十多年前
Thumbnail
美國 7 月消費者物價指數 (CPI) 年增 3.2%,低於預期,加深投資人對聯準會 9 月暫停升息的預期,聯準會官員卻潑了市場冷水,美股主指週四 (10 日) 多驚險收紅。迪士尼收高近 5%,道瓊小漲超過 50 點,標普微升 0.03%,近乎持平,那指收紅 0.12%,費半獨弱 1.87%。
Thumbnail
許多老師、學生,開學了也尚未施打疫苗,使得多數孩子們暴露在高風險的環境中,家長卻也無能為力。 而為了解決這個問題,我們整理出了,哈佛醫學院 – 克萊爾麥卡錫醫師 給的 3 個建議,讓孩子們在開學時也能做好自身的保護,進一步降低感染風險,我們一起看下去吧 !
Thumbnail
可能沒有人一開始寫歌就設定「我想寫一首芭樂歌」,但我認為寫出芭樂歌是必須經歷的,至少是非天才型的芸芸眾生(本人),能有方向依循的創作模式,因為所謂的芭樂歌就是已經經過驗證,大家都覺得好聽的成功方程式,在有經驗之後再刁鑽和弦、節奏,才能找到個人風格,下面分享自己的創作順序與心法。
Thumbnail
現在的旅行早就不是那個需要徒步走到腳趾起水泡、得運動傷害的年代了。 就像現在也沒有多少人會記得,古時開始遍路,要先去一番札所靈山寺旁的阿波國一之宮大麻比古神社祈求道中安全,再行上路。  我籌劃遍路已經有好幾年了。
Thumbnail
最近訂閱承熙文章的人相較已往倍增,並且這半年來承熙的文章很大程度上不同於過去,所以動筆說明一下,算是「導讀」。承熙的投資宗旨是「安心又合理的獲利」,這始終是我最大的追求。唯有安心,投資方能長久。心安了就能專注本業,賺更多的錢,然後持續買進好公司的股票,時間久了,總有賺它個滿缽滿盆的一天。
Thumbnail
這挺輕機槍外表最大特色是20發裝彈匣在槍身上方。ZB26還有個特點是快拆槍管,槍管上的提把方便換槍管也方便持槍,持續射擊200發後須換槍管,也是,再厲害也會殺到手軟。重量10.5公斤,口徑7.92公釐,有效射程550公尺,最大射程1,000公尺,不是鋼鐵人的血肉之軀能擋得了嗎?能接近到進行肉搏戰嗎?