Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
EXCEL IF七層的限制
目前我有一個檔案,我需要對一個流程的每一個地方進行判斷,依照物件處理的進度做控管,物件進度的位置用數字表示。原本要利用IF來進行,但是IF只能寫到第七層,之後就會出現錯誤,原本我的公式依照IF寫法會如下:
IF(B2="","1",IF(C2="","2",IF(D2="","3".....依此類推....IF(L2="","11","12))))))))))),但是這在EXCEL不被許可,請問,有別的方法可以利用嗎?
不好意思,我實際上的欄位,並沒有連續在一起,而是跳著的,所以陣列的方式,可能不適用。
而且我不會使用VBA,所以VBA的部份,我還需要研究一下
我要判斷的欄位是日期格式,這樣會影響要使用的公式嗎?
我試了夏日的那個IF到底的方法,可是用&,不是把二個值連在一起了嗎?
所以出現的值與我原本想要出現的就不同了。我要出現的值有1~13,每一個判斷出來的值是代表著流程的進度,物件總共會經過十個關卡,在每個關卡被完成的時候會由負責人員填上完成的日期,依照填上的日期來判斷現在物件到那一關,原本物件進度是由專責人員手動修改,但是他們希望可以用公式來讓EXCEL自動判斷
我試出來了~~~~
感謝大家~~
我有稍微修改了第二個IF,所以是OK的,我讓第二個IF的開始,是重新判斷上一個步驟,若是上一個步驟是空值則第二個IF也是空值,不繼續執行,這樣就不會有問題了
3 個解答
- 夏日Lv 51 0 年前最佳解答
=MIN(IF(LEN(B2:L2)=0,COLUMN($A:$K),12))
試試這公式合不合用了,陣列三鍵結束
CTRL+SHIFT+ENTER結束。
2008-11-15 14:44:32 補充:
或是這樣子也是陣列的
=MIN(IF(LEN(B2:L2),12,COLUMN($A:$K)))
或是IF到底
=--(IF(B2="",1,IF(C2="",2,IF(D2="",3,IF(E2="",4,IF(F2="",5,IF(G2="",6,""))))))&IF(H2="",7,IF(I2="",8,IF(J2="",9,IF(K2="",10,IF(L2="",11,12))))))
2008-11-15 15:55:33 補充:
個人覺的雖然vba都能實現公式要的效果,行不行看個人功力,一般知識+的問題都偏公式題較多,能以公式解決當然是最好了,畢竟會問問題的都算對excel不算太熟的,如果用vba來解會給自己帶來很多麻煩,還要解說怎用,貼那有的沒的,入門門檻會比運用公式來的高點,除非資料量大,或是發問者表明求vba解法,不然公式還是比vba來的容易解決當前問題。
2008-11-15 16:04:37 補充:
那建議樓主上傳目前的範本,大置寫上在那,怎判別最好附上答案,且記的下次問問題最好一次到位,真的很多人問問題都跟自己實際情況不同,增加回答者的困擾~_~。
為免雞同鴨講,附上範本是最好的方式,也會有較多人給建議。
2008-11-15 16:19:47 補充:
&,不是把二個值連在一起了嗎
是的就是用&,出來的答案就是你想要的,我有驗証過。
最外面再加一層 --() 把文字類轉成數字
2008-11-15 16:23:56 補充:
有點問題了,我建議你把要判別的格子列出來,我在幫你判好了。
2008-11-15 16:26:12 補充:
第二if我寫錯了...........你上傳範本或是寫上參照範圍那幾格為空怎判 ,我再試試看了。
2008-11-15 16:33:33 補充:
第二個if會有出錯的時候,建議別用,你把要判別的格子或是上傳範本,我在看看。
- Regal LLv 71 0 年前
同意樓上的講法,
我不做苦工很久了。幹嘛那麼辛苦。
我每次看到一長患的公式,我就不行了。
還發現有人寫了一長套,還沾沾自喜,真受不了!
大家一起來提昇吧!
2008-11-15 15:16:47 補充:
跟
夏日 無關喔!
請不要誤會。
他是會 vba的!
2008-11-15 16:03:08 補充:
可以把
檔案寄來嗎?
nuee168@yahoo.com.tw