看板 Office 關於我們 聯絡資訊
軟體:Excel 2003 版本: 大家好,我又來發問了。 現在A行中的每個儲存格都有一個單字。 我想找*Z*W*D*的單字,若是符合條件,想在B行的那一列打V。 請問涵數要如何寫? *Z*W*D*的意思是,*代表萬用符合(可表0個或多個字)。 舉個列字,aZWxD符合,aZyyyWxDii符合,ZWD符合,ZaWDe符合。 也不是只要用ZWD三個字母就好,不管前面有沒有其他字母,或是中間有沒有隔多少字, 這三個字母中,Z必需在前面、W在中間、D在後面。 這樣有了解我的意思嗎? 若是只有ZWD的話,我會寫。 =IF(ISERROR(IF(FIND("ZWD",A5317)>=1,"v","")),"",IF(FIND("ZWD",A5317)>=1,"v","")) 可是*Z*W*D*的狀況我就不會寫了。 請教我好嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.196.249 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1551638924.A.510.html
soyoso: https://i.imgur.com/JMolgAF.jpg 以函數countif 03/04 06:51
AirRider: s大,這樣搜出來ZED的順序問題似乎沒考慮? 03/04 08:06
AirRider: 抱歉,ZWD 03/04 08:06
AirRider: 啊抱歉看懂了 03/04 08:07
ddqueen: 謝啦,Soyoso,每次都麻煩您。原來公式要這樣,感恩! 03/04 09:53
不好意思,又有新的問題,因為要查的條件太多了,除了*Z*W*D*之外,還有很多種,我 想寫在B1、C1、D1、E1、……,隨時會增加,然後符合條件的它會自動跑出"V"。 就是在從B1開始的第一列內只要填入條件,如ZWD、AABBX、*ZWD*、*Z*W*D*、*RRS* 、*ZO*F*、*O*W*D*……等等,隨時增加,只要在第一列增加條件,它就會跑出來,這樣 我整個公式要怎麼寫呢? ※ 編輯: ddqueen (114.36.225.23), 03/04/2019 12:25:04
soyoso: https://i.imgur.com/YO0nYee.jpg 類似這樣 03/04 12:33
感謝您,這就是我要的。 不過再請教您,有二個條件我不知怎寫, 就是倒數第四個字等於倒數第三個字、「並且」倒數第二個字等於到數第一個字。 我是寫成如下 =IF(AND(MID(A2,LEN(A2)-3,1)=MID(A2,LEN(A2)-2,1),MID(A2,LEN(A2)-1,1)=MID(A2,LEN(A2),1)),"V","") 我想請教您,是否有辦法和上面的一樣,我把條件寫在第一列,然後下面的公式就會自已 帶出來? 我就是不知該如何把我這個條件寫出來在第一列。 ※ 編輯: ddqueen (114.36.225.23), 03/04/2019 14:24:24
soyoso: 如果是要調整倒數第幾個字或是條件的數量的話 03/04 16:05
soyoso: 可將第一列設計為 https://i.imgur.com/a5s4Cwa.jpg 03/04 16:06
soyoso: 自訂名稱以evaluate 03/04 16:07
soyoso: 第1列內的字串以substitute將)取代+1,1),將@取代為回文公 03/04 16:11
soyoso: 式內mid(...- 到減號的部分;因列號要隨拖曳改變,請加入 03/04 16:12
soyoso: 函數row()以&符號連接 03/04 16:13
soyoso: 前後and(和最後的)一樣,加入以&連接 03/04 16:15
soyoso: 目的是以取代方式達到回文內and(mid()=mid(),....)這樣的 03/04 16:18
soyoso: 字串,再於名稱以evaluate運算後回傳 03/04 16:19
soyoso: 2003的話名稱是在插入內定義,用該方式的話巨集安全性請調 03/04 16:25
soyoso: 低 03/04 16:25
謝謝您。 ※ 編輯: ddqueen (114.36.225.23), 03/04/2019 17:00:22 又有一個問題,如果我的條件是只要有R、P、D、K這四個字母,不分順序的話,函數要如 何寫?我試著寫如下,但是結果我寫錯了、不會寫。 =IF(COUNTIF($A2,AND(R,P,D,K)),"V","") 結果EXCEL說我寫錯了……。 ※ 編輯: ddqueen (114.36.243.148), 03/06/2019 02:17:55 成功了,我寫成如下 =IF(AND(COUNTIF($A2,"*R*")>0,COUNTIF($A2,"*P*")>0,COUNTIF($A2,"*D*")>0,COUNTIF($A2,"*K*")>0),"V","") 可是好長,請問有更簡略的寫法嗎? ※ 編輯: ddqueen (114.36.243.148), 03/06/2019 02:32:52
soyoso: https://i.imgur.com/TDCehVb.jpg 類似這樣 03/06 06:52
謝謝你喔。 ※ 編輯: ddqueen (114.25.195.252), 03/06/2019 12:02:04 請問為什麼有大括弧?又是陣列模式嗎? ※ 編輯: ddqueen (114.25.195.252), 03/06/2019 13:40:19
soyoso: 這個括弧為稱為矩陣常數或常數陣列,而非按下組合鍵ctrl+ 03/06 13:49
soyoso: shift+enter陣列公式外層所加上的那種 03/06 13:50
那請問一下,若是條件改成,只要有R、P、D、K這四個字母中任一個的話呢? ※ 編輯: ddqueen (114.36.243.27), 03/08/2019 23:37:34 以W、S、X三個字母中的任一個為條件,只要出現任一個字母就不要打勾,我是寫成 =IF(SUM(COUNTIF(A2,"*W*"), COUNTIF(A2,"*S*"),COUNTIF(A2,"*X*"))>0,"","V") 請問上面這個函數可以再優化嗎? ※ 編輯: ddqueen (114.36.243.27), 03/09/2019 00:52:25
soyoso: R、P、D、K任一個就回傳"v"的話,就為sum(--(countif(...) 03/09 09:43
soyoso: =1)),將要回傳"v"的字串改至value_if_true 03/09 09:45
soyoso: W、S、X任一個就回傳空字串的話,同上,將回傳"v"字串改至 03/09 09:47
soyoso: value_if_false 03/09 09:47
謝,我來研究看看。 ※ 編輯: ddqueen (114.25.197.174), 03/11/2019 02:02:58