作者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://webptt.com/cn.aspx?n=bbs/Office/M.1454383170.A.211.html
1F:→ soyoso: 想到的是=IFERROR(VLOOKUP(MID(A1,MIN(IF(MID(A1,ROW($1:$ 02/02 12:23
2F:→ soyoso: 100),1)=TRANSPOSE($H$1:$H$7),ROW($1:$7))),1),H:I,2,0), 02/02 12:24
3F:→ soyoso: 0),"没有找到") 02/02 12:24
5F:→ windknife18: S大实在太厉害,这样简单多了 ^_^ 02/02 12:46
6F:推 rd2l4: 谢谢两位大大!! 02/02 14:09