搞了好久...

需求很簡單,手上有個Excel工作表。我希望做到"如果某一列第一欄的值是[DB],則將那一整列設成藍底":

我知道Excel中有個格式化條件的功能,可以由儲存格的值決定要顯示的字型顏色。不過,絕大部分的範例都是由某一格的值決定該格樣式,唯一找到決定整列顏色的範例是: =MOD(ROW(), 2) = 1設定單雙數列間隔色,跟我想做的還是有點差距。

ROW()算是條線索,但由於跟Excel交情不深,摸索了好久才總算拼湊出我要的結果:

=INDIRECT(ADDRESS(ROW(), 1)) = "DB"
[2010-09-07更新] 感謝網友們提供了更簡便的做法,笨問題真的找到聰明解答了!! 將選取範圍設為A2到C8(注意要從A2開始,以便能與公式中的$A2呼應),然後將公式簡化成=$A2="DB",Excel會自己算相對位置,不需使用公式繞路。

以前根本沒認真趼究過Excel的函數,沒想到一口氣用就狠狠用掉三個,INDIRECT(), ADDRESS(), ROW()... orz

如果有人知道更精簡的做法,請再跟我說吧!


Comments

# by jotarun

http://www.youtube.com/watch?v=R_mjzkDJQbg

# by Ian

應該不用那麼麻煩只要 =$A2="DB" 加上格式化為填滿就可以了

# by Leo

感謝 lan 大人提供的方式,在 2003 測試是 OK 的。 選取要格式化的資料範還,設定格式化條件,把底色設定,然後把對話視窗中,【儲存格的值】改成【公式為】,再輸入上面網友 lan 所說的條件 =$A2="DB",就可以把整列換色了。

# by Jeffrey

感謝jotarun, Ian, Leo的回饋,已將大家提供的更簡便做法加入本文了。

# by Ark

痾~弄個3D眼鏡給user帶(笨問題只配用笨方法解決)

# by ilin

請問這樣的條件設定若需要copy到其他檔案 可以嗎? 還是說每一次都要重新設定一次?

Post a comment