Office 板


LINE

软体:excel 版本:2010 各位好 譬如这个档案 https://www.sendspace.com/file/3nsqel 栏位A有15个资料 但其实只有6种资料(重复的要扣掉) 也就是A,B,C,D,E,F(栏位D) 请问excel中 有类似SQL distinct的函数 可以得到这样的结果吗? 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.251.130.136
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1522120360.A.A94.html
1F:→ soyoso: https://i.imgur.com/NnWLonT.jpg 类似这样 03/27 11:18
2F:→ soyoso: 功能方面有,移除重覆;有表头的话,进阶筛选,不选重覆的 03/27 11:20
3F:→ soyoso: 记录 03/27 11:20
4F:→ soyoso: 或枢杻分析表,拖曳到列取得 03/27 11:21
谢谢 F1的部分没问题 但是G2好像没办法得到A,B,C,D,E,F G2=IFERROR(INDEX(A:A,SMALL(IF(COUNTIF(G$1:G1,A$1:A$15)=0,ROW($1:$15)),1)),"")
5F:→ soyoso: 测试,是可以取得 https://youtu.be/0Y0drRqy04Y 03/31 21:17
谢谢 我步骤错了 我没有先把G2变成阵列公式 而是先选取G2:G16 再按Ctrl+Shift+Enter 这样在F栏没问题 但是在G栏有问题 因为G$1:G1就固定住了 不会变依序变成G$1:G2,G$1:G3,... ----------------------------------------------------------------- 不好意思 我另有个问题 F1,G2先Ctrl+Shift+Enter 变成阵列公式 再往下拉 产生A,B,C,D,E,F 此时点选F2 点编辑列 按enter F2会不见 此时点选G3 点编辑列 按enter G3:G8的值会改变 如果是先选取F1:F15 再按Ctrl+Shift+Enter 变成阵列公式後 此时单独去改F2 就会跳出警告:您不能只改变一个阵列中的一部分 所以後者是不是有避免误改的好处? 谢谢
6F:→ soyoso: 如原po回文所述 04/01 15:32
谢谢 我仍有其他疑问 我原本只有15个资料 但资料会增删 如果现在多了1个资料 且不是A,B,C,D,E,F 假设是X 如下 https://www.sendspace.com/file/x2vk4i 那原本的F1 只要是A$15 都要改成A$16 如下 F1=IFERROR(INDEX(A:A,SMALL(IF(MATCH(A$1:A$16,A$1:A$16,0)=ROW($1:$16),ROW($1:$16)),ROW())),"") 虽然可以work 但有更好的写法可以在增加资料时 不用修改也能work吗?
7F:→ soyoso: 动态范围可indirect或offset配合counta来调整 04/01 16:32
8F:→ soyoso: 也可写於自订名称内来引用 04/01 16:33
不好意思 拖了这麽久 我最後只用了indirect 如下 但counta要怎麽加到这例子中 我想不出来 https://www.sendspace.com/file/wp662p 但我这样改 只是把每次范围变动 需要改公式时 变成去改H2和H3 并不是不用改 想请问 有办法完全都不用改就可以work吗? 如果可以 可以给我一个范例吗? 谢谢
9F:→ soyoso: https://i.imgur.com/hg2YNDs.jpg 类似这样 04/07 20:32
谢谢 我对 OFFSET(A$1,,,COUNTA(A:A)) 有疑问 https://bit.ly/2Jua9Ba OFFSET(reference, rows, cols, [height], [width]) 官网提到 Rows和Cols 都是必要,而上方的OFFSET里面Rows和Cols都是空的 我第一眼看到时 直觉是错的 但跑起来却没有错 效果跟0一样 请问 是所有函数的参数标示成「必要」 都可以空着吗? 还是OFFSET比较特别 所以可以这样用?
10F:→ soyoso: 是必要的,但省略时它有预设;就要看省略时预设是否是要的 04/08 00:25
11F:→ soyoso: 引数值,或是回传值是否不为错误 04/08 00:25
谢谢 那如果资料间不连续 有空白 如下 原本的公式就无法work了 https://www.sendspace.com/file/b3ycmz 请问 这样公式要怎麽改 才有办法找出所有distinct的值?
12F:→ soyoso: 要distinct显示空白,或是distinct和where不为空白 04/08 10:13
13F:→ soyoso: 要找最後有值的列号可以lookup(1,0/(a栏范围不为空白),row 04/08 10:22
14F:→ soyoso: (范围列号)) 04/08 10:23
15F:→ soyoso: match查找空白储存格会回传错误值,要将范围後以""连接& 04/08 10:24
16F:→ soyoso: 以上可找distinct(含空字串储存格[原空白储存格]) 04/08 10:26
17F:→ soyoso: 对应上空白储存格会回传0值,可於index(...)外连接&"" 04/08 10:28
18F:→ soyoso: 如where不为空白的话,则在if内再加上范围内不为非空字串 04/08 10:30
19F:→ soyoso: 的判断 04/08 10:30
20F:→ soyoso: 如公式太长,可於其他储存格取得最後有值的列号後,offset 04/08 10:31
21F:→ soyoso: 再指定height引数为该储存格;或将重覆引用的范围,以自订 04/08 10:32
22F:→ soyoso: 名称的方式引用 04/08 10:32
不好意思 你可以给我一个例子吗? 光有描述 我还是试不出来
23F:→ soyoso: match(offset()&"",offset()&"",0)的方式 04/08 14:30
24F:→ soyoso: 上述为显示空白的部分 04/08 14:32
25F:→ soyoso: offset()<>"" and match()就为where不为空白 04/08 14:32
谢谢 你可以给我最後有值的列号的例子吗? 底下这个我看不太懂 lookup(1,0/(a栏范围不为空白),row(范围列号))
26F:→ soyoso: a栏范围a1:a1000不为空白<>"",范围列号1:1000 04/08 16:06
谢谢 完成了 为避免忘记 我把结果记录在底下的工作表1 https://www.sendspace.com/file/2o3elc 我还有另一个问题 在工作表2 随便指定一块连续的空间(譬如B2:E5) 列出里面distinct的值(不含空白) 请问公式该怎麽写?
27F:→ soyoso: match的话,将范围转为1栏多列(offset、index或indirect) 04/08 17:44
28F:→ soyoso: 再抓取。 04/08 17:45
29F:→ soyoso: 或以countif配合indirect(r1c1)来抓取回文范围 04/08 17:46
谢谢 但光是将范围转为1栏多列 我就想不出要怎麽做了 可以给我个例子吗?
30F:→ soyoso: https://i.imgur.com/IqJyG4R.jpg offset类似这样 04/09 00:16
谢谢 我完成了 我在offset的第三个参数也加上mod 并加了一个ROW()<=3*3的条件 以避免E栏中值重复出现  范围内如果有储存格为空白 offset後会变成0 所以我加了一个 <>"" 的条件 如下 https://www.sendspace.com/file/tuvwtu 但我还有一个问题 在上一个档案 如下 https://www.sendspace.com/file/2o3elc 我把栏位A的资料删到只剩一个(剩A1) 我原本预期F1会是A 结果是空白 如下 https://i.imgur.com/iSwxLPw.png
但如果栏位A的资料只剩A2 F1就会如预期是B 如下 https://i.imgur.com/hRsXDgH.png
我发现是 MATCH(OFFSET(A$1,,,H10)&"",OFFSET(A$1,,,H10)&"",0) 的关系 但不懂为什麽会这样?
31F:→ soyoso: 剩a1的方面储存格h10加1 04/12 13:25
32F:→ soyoso: 公式,判断是否不为空字串上,是不用连接&符号的,写法回 04/12 13:27
33F:→ soyoso: 文上原po就有提到加了一个条件的写法 04/12 13:28
34F:→ soyoso: 调整後剩A2方面应可显示於储存格F1内 04/12 13:29
谢谢 test6.xlsx G栏的&""拿掉後 就正常了 但我还是不懂 MATCH(OFFSET(A$1,,,H10)&"",OFFSET(A$1,,,H10)&"",0) https://www.sendspace.com/file/jdg2k2 当A1是A,H10是1时 OFFSET(A$1,,,H10) 和 OFFSET(A$1,,,H10)&"" 都是 A MATCH( OFFSET(A1,,,H10),OFFSET(A1,,,H10),0) 是 1 而 MATCH( OFFSET(A1,,,H10)&"",OFFSET(A1,,,H10)&"",0) 却是 #VALUE! 这是为什麽呢?
35F:→ soyoso: 单一储存格&""会为文字类型,复数储存格&""会为array 04/13 09:47
这太细了 你不说我根本不会注意到 至此 我没问题了 感谢 ※ 编辑: kisha024 (36.239.84.59), 04/14/2018 00:24:27







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP