標題:
比對並判斷顯示訊息問題
[打印本頁]
作者:
jsc0518
時間:
2017-1-21 15:42
標題:
比對並判斷顯示訊息問題
我有設定Excel函數,但很快就卡到了,而且我都一直用IF的方式循環,但還是錯誤
=IF(MID(B5,10,4)=MID(H5,10,4),IF(MID(B5,10,5)=MID(H5,10,5),"",IF(MID(B5,14,14)<>MID(H5,14,14),"版本升級",IF(MID(B5,10,5)<>MID(H5,10,5),"更改料號",IF(B5="",IF(H5<>"","新增料號","刪除料號"))))))
我想設定的條件是
當B欄比對H欄時
1.最後一碼不一樣,F欄顯示"版本升級"
2.後面五碼不一樣,F欄顯示"更改料號"
3.當B欄與H欄數字完全一樣時,F欄顯示""
4.當B欄有資料,H欄是空白,F欄顯示"刪除料件"
5.當H欄有資料,B欄是空白,F欄顯示"新增料件"
[attach]26431[/attach]
[attach]26432[/attach]
作者:
ML089
時間:
2017-1-21 18:54
回復
1#
jsc0518
=IF(B3=H3,"",IF(AND(B3="",H3<>""),"新增料件",IF(AND(B3<>"",H3=""),"刪除料件",IF(AND(LEFT(B3,13)=LEFT(H3,13),RIGHT(B3,1)<>RIGHT(H3,1)),"版本升級",IF(AND(LEFT(B3,9)=LEFT(H3,9),RIGHT(B3,5)<>RIGHT(H3,5)),"更改料號","?")))))
作者:
jsc0518
時間:
2017-1-21 22:12
回復
2#
ML089
ML089,感謝您提供的公式,我會好好學習。謝謝!
作者:
ML089
時間:
2017-1-22 00:18
回復
1#
jsc0518
在簡化一下公式
=IF(AND(B3="",H3<>""),"新增料件",IF(AND(B3<>"",H3=""),"刪除料件",LOOKUP(,0/(LEFT(B3,{9,13,14})=LEFT(H3,{9,13,14})),{"更改料號","版本升級",""})))
作者:
ML089
時間:
2017-1-22 07:59
再簡化
=IF(COUNTA(B3,H3)=1,IF(B3="","新增料件","刪除料件"),LOOKUP(,0/(LEFT(B3,{9,13,14})=LEFT(H3,{9,13,14})),{"更改料號","版本升級",""}))
作者:
jsc0518
時間:
2017-1-22 09:36
回復
5#
ML089
請問 --> (LEFT(B3,{9,13,14}) 這段的意思是?
另外 { } 這是代表?
作者:
jsc0518
時間:
2017-1-22 09:43
回復
5#
ML089
您好,可以教我一下
LOOKUP(,0/(LEFT(B3,{9,13,14})=LEFT(H3,{9,13,14})),{"更改料號","版本升級",""}
用法及意思嗎
作者:
hcm19522
時間:
2017-1-22 12:37
http://blog.xuite.net/hcm19522/twblog/482139178
作者:
ML089
時間:
2017-1-22 18:42
回復
8#
jsc0518
請問 --> (LEFT(B3,{9,13,14}) 這段的意思是?
另外 { } 這是代表?
{ } 是陣列運算符號,LEFT(B3,{9,13,14}) 表示為 LEFT(B3,9) 、LEFT(B3,13) 、LEFT(B3,14) 三個陣列項目
作者:
jsc0518
時間:
2017-1-23 20:05
回復
5#
ML089
ML089 您好
若是要在新增條件,我要如何更改公式? (感謝您的教導)
版本升級 --> 最後一碼不一樣,且最後一碼數字差距為+1
更改料號 --> 最後一碼不一樣,且最後一碼兩筆數字差距有2以上
更改料號 --> 後面九碼不一樣
如附圖
[attach]26444[/attach]
作者:
jsc0518
時間:
2017-1-23 21:15
回復
8#
hcm19522
謝謝您提供的公式歐!
作者:
ML089
時間:
2017-1-23 23:30
回復
10#
jsc0518
=IF(COUNTA(B3,H3)=1,IF(B3="","新增料件","刪除料件"),LOOKUP((0&SUBSTITUTE(H3,".",))-(0&SUBSTITUTE(B3,".",)),{0,1,2},{"","版本升級","更改料號"}))
作者:
jsc0518
時間:
2017-1-24 08:29
回復
12#
ML089
ML089
在最後一欄位,條件為後面九碼不一樣-->更改料號
有錯誤!
[attach]26447[/attach]
作者:
ML089
時間:
2017-1-24 23:43
回復
13#
jsc0518
我測試OK
你傳檔案上來看看
作者:
jsc0518
時間:
2017-1-25 07:15
回復
14#
ML089
我這檔案已加上你的公式
再請你看一下,Thanks!
[attach]26459[/attach]
作者:
ML089
時間:
2017-1-25 07:21
回復
15#
jsc0518
因為H9-B9為負數而錯誤,加ABS(...)改為正就可以。
=IF(COUNTA(B3,H3)=1,IF(B3="","新增料件","刪除料件"),LOOKUP(ABS((0&SUBSTITUTE(H3,".",))-(0&SUBSTITUTE(B3,".",))),{0,1,2},{"","版本升級","更改料號"}))
作者:
jsc0518
時間:
2017-1-25 12:27
回復
16#
ML089
測試正常,謝謝你的熱心指導。感恩!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)