Re: [算表] 储存格将所要内容挑出自动分类

楼主: naobaby (Akane)   2014-11-21 21:39:34
感谢大大的协助
我把档案下载下来研究了, 辅助格的办法很方便呢
将全体资料与所需资料比对, 在不符合的储存格后面加记号 *
然后再用简单筛选功能, 点选*, 就可以将不符合的储存格全部列出, 真是个好方法
其余的数量及价格部分, 我再由vlookup函数代入即可
=IF(ISNA(MATCH(A2;F$1:F$100;0));"*";"")
不过在函数设定部分, 我有点不懂呢~~
可否讲解一下下~~
1. ISNA
当引数中之值为 #N/A (找不到适合之值) 时,传回逻辑值 TRUE
http://imil.au.edu.tw/~hsichcl/Excel/Unit3/excel3_6_6_1.htm
依照这网页范例, 为何中间多一个0? 然后后面又重复一次VLOOKUP的设定呢?
2. MATCH 函数设定中, A2为所要验证资料, F1~F10为查找范围, ;后面的0是什么呢?
3. 然后 ;"*";"" 为何要这样设呢?
接着, 我筛选辅助栏为*条件后, 结果如下
都是与match查找范围中不相符的储存格
储存格
A B C D
名称 数量 价格 辅助栏
1 ABA13 456 7658564 *
2 BCA22 356 79768542 *
3 EJW23 678 5465657 *
4 AAA75 865 3657 *
5 DGR45 6867 8956 *
6 CCC82 684 5478 *
7 DDD39 3455 7876 *
8 AAA13 347 86564 *
9 KWR34 8655 796 *
10 CCB34 233 5655444 *
11 AAA48 3455 7876 *
12 CCC27 347 86564 *
13 DDD37 865 3657 *
14 BBB73 967 58760 *
15 CCC25 3455 7876 *
16 FKQ12 368 46547 *
那我可以另外设条件, 在此范围内,
储存格内容有特定文字的, 会剪下到另外的储存格吗?
假如我要把储存格内有AAA的剪下, 到另外储存格当中, 就会变成
A B C D
名称 数量 价格 辅助栏
50 AAA75 865 3657 *
51 AAA13 347 86564 *
52 AAA48 3455 7876 *
而原来的A4, A8, A11就会变空白, 或是由下往上补满
这样的话, 我的A50~A51储存格要怎么设定函数呢?
请再指点指点一下, 谢谢
※ 引述《naobaby (Akane)》之铭言:
: 谢谢提供的连结, 档案下载下来研究了
: 但是资质驽钝真的看不太懂, 后来我又想到一个方式
: 全部数据库转出资料
: 储存格
: A B C
: 名称 数量 价格
: 1 ABA13 456 7658564
: 2 BCA22 356 79768542
: 3 EJW23 678 5465657
: 4 CCB34 233 5655444
: 5 DGR45 6867 8956
: 6 DDD44 834 98742
: 7 CCC33 3547 78543
: 8 AAA11 673 354667
: 9 FKQ12 356 6768963
: 10 KWR34 487 35489
: 11 BBB22 346 5658
: 这是我要的标准规格资料
: 名称是默认值, 我就是要抓出这些资料
: 储存格
: D E F
: 名称 数量 价格
: 1 AAA11 数量及价格的数字
: 2 BBB22 我用vlookup功能
: 3 CCC33 可从数据库转出资料代入
: 4 DDD44
: 5 EEE55
: 6 FFF66
: 7 GGG77
: 8 HHH88
: 9 .........我要的标准品名
: 10
: 11
: 接着是挑选后剩下的资料
: 储存格
: G H I
: 名称 数量 价格
: 1 ABA13 数量及价格的数字
: 2 BCA22 我还是用vlookup功能
: 3 EJW23 从数据库转出资料代入
: 4 CCB34
: 5 DGR45
: 6 FKQ12
: 7 KWR34
: 简单的说, G1~G7这一行储存格的来源, 是A1~A11 剔除了 D1~D11的资料
: 这样的话, G这一行储存格要如何设函数呢?
: 是用IF, 还是用IFERROR?? 还是 INDEX??? 或是有其他解法
: 请高手再给予指点指点 谢谢
: ※ 引述《naobaby (Akane)》之铭言:
: : 软件: office
: : 版本: 2013
: : 从数据库转出的资料如下
: : 名称 数量 价格
: : ABA13 456 7658564
: : BCA22 356 79768542
: : EJW23 678 5465657
: : CCB34 233 5655444
: : DGR45 6867 8956
: : DDD44 834 98742
: : CCC33 3547 78543
: : AAA11 673 354667
: : FKQ12 356 6768963
: : KWR34 487 35489
: : BBB22 346 5658
: : 想要把储存格资料挑出所需部分
: : 我想要的是 AAA11, BBB22, CCC33, DDD44.....类推, 会把我想要的全列在字段中
: : 变成
: : 主要需要的 筛选剩下的
: : 名称 数量 价格 名称 数量 价格
: : AAA11 673 354667 ABA13 456 7658564
: : BBB22 346 5658 BCA22 356 79768542
: : CCC33 3547 78543 EJW23 678 5465657
: : DDD44 834 98742 CCB34 233 5655444
: : DGR45 6867 8956
: : FKQ12 356 6768963
: : KWR34 487 35489
: : 请问这样的函数要怎么设呢?
: : 还是有其他解呢? 谢谢
作者: soyoso (我是耀宗)   2014-11-21 21:45:00
问题1,中间多一个是配合if,当isna为错误时为0重复一次是因为isna所包的vlookup只是用来判断是否为错误所以当不为错误时,才又跑到vlookup来参照出正确的资料这在2003(含)以前版本会这样写,2007(含)以后则以iferror就可不重复问题2 ,后面的0为if为isna()为真时的结果值抱歉问题2是针对=IF(ISNA(MATCH(A2,F$1:F$100,0)),"*","")这里的0也可以打false,是指会找完全符合的值,"*","" 这样设只是习惯方式区别而已,可另修改其他区别字串特定文字,"剪下"来看,反视为将辅助栏="*"且排除名称="AAA*",将以上判断抓出的资料到另一个新的资料范围也就不会变成空白http://goo.gl/ksNI0j另新增阵列公式上面连结http://goo.gl/ksNI0j重下如要用动态范围的话也可以参考http://goo.gl/YFTVCG

Links booklink

Contact Us: admin [ a t ] ucptt.com