作者vic12332000 (SSW)
看板Office
标题Re: [算表] 将重复值或字串编为相同编号
时间Sat Feb 8 16:03:29 2020
※ 引述《vic12332000 (SSW)》之铭言:
: 软体:Excel
: 版本:2016
: 大家好
: 昨天询问的问题顺利解决了,谢谢帮忙
: 不过今天又有了新的难题
: https://i.imgur.com/TUkafg9.jpg
: 因为我需要帮书籍重新编号
: 希望之後登打完书名能自动出现编码(蓝色栏)
: 编号需符合以下规则
: 1.类别不同一开始的字母会不同
: 2.编号码长度为3码
: 3.若有相同的书,希望後面多个「-1、-2」作为辨别
: 4.有附件的书希望三码後多个小写字母
: 但我目前登打的公式没有办法帮我做到以下几点:
: 1.重复书籍的号码没办法是同码(红色部分),我希望显示的是「B004-1、B004-2」
: 2.有附件的书我不知道怎麽能让它按附件数目增加小写字母,我希望能显示「D001a,D0
01
: b」
: 不晓得我的问题能不能用公式解决呢?还请帮忙
: 谢谢
先感谢soyoso大大帮忙
我试了以後发现几个bug,想继续请教
1.
https://i.imgur.com/2ePHFD4.jpg
我尝试插入一列并增加了第三本一样的书
但编号却往前跳了
(前两本正常B005-1,B005-2,第3本却变B004-3)
另外假设我今天买了书要编录
一定从最底下列新增(不管有无重复)
所以我到最底下新增了一笔重复的书
https://i.imgur.com/dmihpyJ.jpg
除了编号往前跳以外
我的预想是他编号应该要是「B005-4」
2.
假设重复的书籍是有附件的(见”嗨”这3笔)
附件编号(B088b)却无法像本体书显示(B088-1b,B088-2b)这样的格式
以上还请帮忙,非常谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.139.11.50 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1581149011.A.491.html
※ 编辑: vic12332000 (223.139.11.50 台湾), 02/08/2020 16:13:44
4F:→ vic12332000: 件那边有点问题,是我哪里打错吗? 02/08 19:54
6F:→ vic12332000: soyoso大大,非常谢谢你,已经完全解决了,如果方便 02/08 21:39
7F:→ vic12332000: 的话,可不可以教一下这些栏公式的逻辑呢? 02/08 21:39
8F:→ soyoso: 想法上,为: 02/08 22:57
9F:→ soyoso: i栏,看公式所在储存格上方范围内是否有重覆 02/08 22:57
10F:→ soyoso: j栏,看公式所在列是否为有附件的书(含附件) 02/08 22:57
11F:→ soyoso: k栏,当为上方范围内有重覆时,回传符合b栏和c栏的k栏值 02/08 22:57
12F:→ soyoso: 无重覆时,计数类别减重覆类别和书籍(如c20、c21) 02/08 22:57
13F:→ soyoso: L栏,附件抓是从哪本书来的(回传列号) 02/08 22:57
14F:→ soyoso: m栏,上方范围内是否有重覆或是为附件,这方面会因计数类 02/08 22:57
15F:→ soyoso: 别时重覆,判断出来来扣除 02/08 22:57
16F:→ soyoso: n栏,有附件的书(含附件),max回传有附件的书列号,row- 02/08 22:57
17F:→ soyoso: max来产生0起的值,97+0,char windows ANSI 字元集就为a 02/08 22:57
18F:→ soyoso: 起 02/08 22:57
19F:→ soyoso: o、p栏,目的是将有附件的书起迄的列号列出 02/08 22:57
20F:→ soyoso: a栏,是附件,取出上方储存格(不含英文字元)的字串,不是 02/08 22:57
21F:→ soyoso: 附件,看类别和书籍名称是否重覆。最後连接附件转换英文字 02/08 22:57
22F:→ soyoso: 元(n栏,这方面也可以不用判断,直接以连结n栏也可以) 02/08 22:57
23F:→ vic12332000: soyoso 大大,不好意思我好像又发现bug,我尝试将公 02/09 00:15
24F:→ vic12332000: 式套用到另一个工作表,这个工作表里面有较多附件, 02/09 00:15
25F:→ vic12332000: 也而且因为部分遗失,所以附件有多有少,问题是接着 02/09 00:15
26F:→ vic12332000: 附件後的下一本的编号就没办法正常(请见41列亲职卡 02/09 00:16
27F:→ vic12332000: ),我猜可能是I栏(即原本m栏的公式出现1以上的数字 02/09 00:16
28F:→ vic12332000: ,不知道有无法解决? 02/09 00:16
31F:→ soyoso: =min(1,i栏公式) 02/09 09:12
32F:→ soyoso: 另外,这二篇有关编号内回文所提供的公式都不用在公式键入 02/09 09:13
33F:→ soyoso: 後加上组合键,如要加才会和另一篇 #1UF0UY_y 的回文写到 02/09 09:15
34F:→ soyoso: 哪一个储存格需要加上组合键 02/09 09:15
35F:→ vic12332000: 有成功了!非常感谢 02/09 18:40
36F:→ vic12332000: soyoso大大,不知道可否再请教 02/09 18:54
37F:→ vic12332000: soyoso大大,不知道可否再请教 02/09 19:00
38F:→ vic12332000: 如果我要把上图总表的项目,依类别传回後面的各类别 02/09 19:01
39F:→ vic12332000: 表单,请问该怎麽做呢?我以为用lookup,但好像没这 02/09 19:01
40F:→ vic12332000: 麽简单(ー ー;) 02/09 19:01
41F:→ soyoso: index+small(if(...))的阵列公式。如不用就再加个辅助栏 02/09 19:04
42F:→ soyoso: 类别&countif(以累计方式不要计数整栏),回传上以vlookup 02/09 19:06
43F:→ soyoso: (类别&row,...) 02/09 19:06
44F:→ vic12332000: 我尝试後第一列顺利出来,但後面就出现错误 ,不知道 02/09 19:59
46F:→ soyoso: 不用*,if内为真时的row内的列号要绝对参照 02/09 20:21
47F:→ soyoso: 这公式需键入後配合组合键ctrl+shift+enter 02/09 20:22
48F:→ vic12332000: 我改掉了,但只出现奇数,且也把B001也代进来 https: 02/09 20:26
49F:→ vic12332000: //i.imgur.com/CCeQaUG.jpg 02/09 20:26
51F:→ soyoso: 02/09 20:21所回文的,为真时的row内的列号要绝对参照 02/09 20:28
52F:→ vic12332000: 我改成ROW(),有顺利按编号,但还是有B***的资料跑出 02/09 20:52
54F:→ soyoso: 为何要改row(),回文就写row内的列号要绝对参照 02/09 21:01
55F:→ soyoso: 并没有说要改为row() 02/09 21:02
58F:→ soyoso: 原po回文的连结,不就是在if为真的row内列是加上绝对参照 02/09 21:07
59F:→ vic12332000: 抱歉,我刚才没有搞懂绝对参照的意思,已经了解,改 02/09 21:16
60F:→ vic12332000: 完有顺利跑出来了,非常谢谢你 02/09 21:16