返回列表 上一主題 發帖

[發問] 欄位內容包含ABC文字判斷

[發問] 欄位內容包含ABC文字判斷

各位大大:


請求幫忙檔案內容判斷須如何寫,求解~

需求
1. 八點做第一筆花1.5小時,C欄位自動計算: 八點加1.5小時為09:30 ; 做第二筆花8小時自動計算:09:30加8小時為17:30 ; c欄位依序
2. 判斷A3欄位內容有包含ABC文字D3欄位顯示: 上簽   ;  判斷A3欄位內容若有包含ADED文字顯示: 下簽 ; 其餘沒有包含的D欄位顯示: 略過

2022-09-17_233025.jpg (26.97 KB)

2022-09-17_233025.jpg

判斷TEST.zip (7.16 KB)

包含文字判斷

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復 2# hcm19522


hcm19522 :
之前還用 if 加上%(萬用字元) 判斷欄位內容有ABC相關文字, 一直試不出來說,  感謝 hcm19522 協助解答~

TOP

本帖最後由 Andy2483 於 2022-9-19 10:07 編輯

回復 1# jackyliu


    謝謝前輩發表此主題
VBA方式供參考
後學今天捨近求遠
1.練習變數名參數化
2.更親近字典

後學很想學習不一樣的技巧! 先謝謝各位前輩幫訂正錯誤並再指導!
  1. Option Explicit
  2. Sub 欄位內容包含ABC文字判斷()
  3. 'B欄輸入時數,C欄呈現累加後時間
  4. 'A欄包含ABC,在D欄="上簽"
  5. 'A欄包含ADEM,在D欄="下簽"
  6. 'A欄不包含ABC且不包含ADEM,在D欄="略過"
  7. 'A欄包含ABC且包含ADEM,在D欄="上簽+下簽"
  8. Dim Arr, i, Y, Z(1 To 3)
  9. Set Y = CreateObject("Scripting.Dictionary")
  10. Y = Array("上簽", "下簽", "略過")
  11. Arr = [A2].CurrentRegion
  12. For i = 2 To UBound(Arr)
  13.    Z(1) = Arr(i, 2) / 24 + Arr(i - 1, 3)
  14.    Z(2) = InStr(Arr(i, 1), "ABC")
  15.    Z(3) = InStr(Arr(i, 1), "ADEM")
  16.    Arr(i, 3) = IIf(Arr(i, 2), Z(1), "")
  17.    If Z(2) <> 0 And Z(3) <> 0 Then
  18.       Arr(i, 4) = Y(0) & "+" & Y(1)
  19.       ElseIf Z(2) = 0 And Z(3) = 0 Then
  20.          Arr(i, 4) = Y(2)
  21.       ElseIf Z(3) = 0 Then
  22.          Arr(i, 4) = Y(0)
  23.       Else
  24.          Arr(i, 4) = Y(1)
  25.    End If
  26. Next
  27. [A2].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
  28. End Sub
複製代碼

TOP

=LOOKUP(,0/FIND({"","ADEM","ABC"},A3),{"略過","下簽","上簽"})

TOP

我想請問若改成用Search函數可以嗎?
找到對應的相關文字,顯示相關文字如: 上上籤 , 上中籤 , 上下籤 , 中上籤 , 中中籤 , 中下籤 , 下上籤 , 下中籤 , 下下籤 ,

改新需求:
1. 改成用Search函數
2. 改成將要找的文字統一放在某一欄位(舉例: 欄位A1:ABC   ,欄位A2:BCD   ,欄位A3:CDE   ,欄位A4:Def   ,欄位A5:efG  ,欄位A6:FGh)
3. 將找到相關文字改ABC=上上籤,  BCD=上中籤,   BCD=上下籤....
以上 更新方式, 可以做到嗎?

TOP

回復 6# jackyliu

把關鍵字放G:H欄//不分大小寫
D3公式
=iferror(LOOKUP(,0/(SEARCH(G$1:G$99,"|"&A3)>1),H:H),"")

TOP

回復 7# 准提部林


謝謝版大協助 ~
不過現在 存檔或複製電腦都會轉圈圈,會花上1~2分鐘時間,是正常現象嗎?

TOP

回復 8# jackyliu


資料多, 公式多, 卡...是正常,
要看檔案, 才知是哪部份拖慢檔案,
必要時, 只能用vba

TOP

回復 6# jackyliu


    謝謝前輩
今日習得
iferror() , LOOKUP() , SEARCH()
模擬情境練習陣列&字典
VBA方式供參考

判斷TEST-20220926_1.zip (30.99 KB)



TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題