SOGO論壇

標題: Excel程式編寫問題 [列印本頁]

作者: 駱駝    時間: 2013-12-3 23:50:56     標題: Excel程式編寫問題

各位高手大家好喔!
小弟有個Excel程式編寫想請教大家
問題如下:
輸入a,b,c三個數字
比較a,b,c三個數字
若a>b>c 且在給一個指令為"正常",則代表ok
若a>b>c 且在給一個指令為"不正常",則代表NG
若b>a>c 且在給一個指令為"正常",則代表NG
依此類推

舉例1
a1:12 b1:5 c1:1    指令為正常
a2:ok
舉例2
a1:12 b1:5 c1:1    指令為不正常
a2:NG
舉例3
a1:5 b1:12 c1:1    指令為正常
a2:NG
以上解說懇請各位高手大協助
萬分感謝
作者: imaging79    時間: 2013-12-4 00:32:30

本帖最後由 imaging79 於 2013-12-4 00:41 編輯

從2列開始
A行表示a,B行表示b,C行表示c,D行表示指令(指令僅有"正常"與"正常以外的字"),E輸出結果

以下程式中有(未知)表示你題目沒告知情況,我便用猜的,所以只有三個情況沒有(未知)

邏輯是這樣看的:

IF(A2>B2,
     上述真:IF(B2>C2,
                       上述真:IF(D2="正常",
                                              上述真:"OK",
                                              上述假:"NG"),
                       上述假:IF(D2="正常",
                                              上述真:"NG(未知)",
                                              上述假:"OK(未知)")),
     上述假:IF(A2>C2,
                        上述真:IF(D2="正常",
                                              上述真:"NG",
                                              上述假:"OK(未知)"),
                        上述假:IF(D2="正常",
                                              上述真:"NG(未知)",
                                              上述假:"OK(未知)")))

去掉紅色註解在E2的fx輸入以下
=IF(A2>B2,IF(B2>C2,IF(D2="正常","OK","NG"),IF(D2="正常","NG(未知)","OK(未知)")),IF(A2>C2,IF(D2="正常","NG","OK(未知)"),IF(D2="正常","NG(未知)","OK(未知)")))
作者: hola0183    時間: 2013-12-4 00:42:06

本帖最後由 hola0183 於 2013-12-4 00:53 編輯

假設 a b c d e 欄位分別是你的 a、b、c、指令、結果
則在 e1 欄位輸入:
=if(and(a1>b1,b1>c1,d="正常"),"ok","")&if(and(a1>b1,b1>c1,d="不正常"),"NG","")&if(and(b1>a1,a1>c1,d="正常"),"NG","")

這是比較簡陋的寫法,如果三種條件都成立 e 欄位會顯示成 "okNGNG",三個條件都不成立時不會顯示任何字。


你可以改成下式只會有一種結果:

=if(and(a1>b1,b1>c1,d="正常"),"ok", if(and(a1>b1,b1>c1,d="不正常"),"NG",if(and(b1>a1,a1>c1,d="正常"),"NG","無法判定")))

如果三個條件都不成立會顯示 "無法判定"。





歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM