作者windknife18 (windknife18)
標題Re: [算表] VBA 查儲存格內容是否包含某數,執行..
時間Tue Feb 2 11:19:27 2016
很就沒有玩陣列公式了, 感覺你的問題蠻好玩的, 試了一下感覺應該對,
請看看是不是符合你的需求囉,檔案位置
http://file.wikidot.com/local--files/f/20160202.xlsx
以A1擺放英文字, B1來表示公式, 主要想法:
1. H:J 欄擺放對照表
2. 用mid將A1的英文字切割成一個一個的字元
3. 和H欄的英文字母比對看是否有一樣的
4. 找出最先出現的位置
5. 找出最先出現的位置的英文字母
6. 用index找出相對英文字母的中文字
B1=IF(A1="","",IF(MIN(IF((MID(A1,ROW($1:$100),1)=TRANSPOSE($H$1:$H$7)),
(ROW($1:$100))))=0,"沒有找到",INDEX(I:I,MAX(IFERROR(TRANSPOSE(ROW($1:$100))
*((MID(A1,ROW($1:$100),1)=TRANSPOSE($H$1:$H$7))*(ROW($1:$100))=MIN(
IF((MID(A1,ROW($1:$100),1)=TRANSPOSE($H$1:$H$7)),(ROW($1:$100))))),0)),1)))
PS. 記得輸入玩,按Ctrl+Shift+Enter結束, 沒時間優化囉 ^_^
※ 引述《rd2l4 (唉呦就是那個啊~~)》之銘言:
: 軟體: EXCEL
: 版本: 2010
: A B
: 1 [輸入] [查找結果]
: 2
: 3
: 目標是希望輸入(A1)之後可以出現(B1)不同結果(有不論大小寫的中英組合)
: 舉例來說,這是目標表:
: ┌────┬────┐
: │ 查找 │ 結果 │
: ├────┼────┤
: │ a │ 新 │
: ├────┼────┤
: │ b OR c │ 年 │
: ├────┼────┤
: │ d │ 快 │
: ├────┼────┤
: │ e-g │ 樂 │
: └────┴────┘
: 實際輸入可能是:apple,結果B1是出現"新"(a先出現)
: 若是:banana,B1就是"年" (b先出現)
: 目前規劃是Worksheet_Change + application.vlookup?search?find?還是IF?
: 可能是我找錯方向了,google都找不到類似的東西...
: 感覺又很簡單可是卻卡住了QQ
: 在一般搜尋中只要加個*明明就可以的VBA卻不行Orz
: 求救 T_T 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.131.84.79
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1454383170.A.211.html
→ soyoso: 想到的是=IFERROR(VLOOKUP(MID(A1,MIN(IF(MID(A1,ROW($1:$ 02/02 12:23
→ soyoso: 100),1)=TRANSPOSE($H$1:$H$7),ROW($1:$7))),1),H:I,2,0), 02/02 12:24
→ soyoso: 0),"沒有找到") 02/02 12:24
→ windknife18: S大實在太厲害,這樣簡單多了 ^_^ 02/02 12:46
推 rd2l4: 謝謝兩位大大!! 02/02 14:09