Re: [算表] 将重复值或字串编为相同编号

楼主: vic12332000 (SSW)   2020-02-08 16:03:29
※ 引述《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)这样的格式
以上还请帮忙,非常谢谢
作者: soyoso (我是耀宗)   2020-02-08 18:21:00
楼主: vic12332000 (SSW)   2020-02-08 19:53:00
https://i.imgur.com/5Qelmf2.jpghttps://i.imgur.com/vqQDF3y.jpg soyoso大大,附件那边有点问题,是我哪里打错吗?
作者: soyoso (我是耀宗)   2020-02-08 20:38:00
楼主: vic12332000 (SSW)   2020-02-08 21:39:00
soyoso大大,非常谢谢你,已经完全解决了,如果方便的话,可不可以教一下这些栏公式的逻辑呢?
作者: soyoso (我是耀宗)   2020-02-08 22:57:00
想法上,为:i栏,看公式所在储存格上方范围内是否有重复j栏,看公式所在列是否为有附件的书(含附件)k栏,当为上方范围内有重复时,回传符合b栏和c栏的k栏值无重复时,计数类别减重复类别和书籍(如c20、c21)L栏,附件抓是从哪本书来的(回传列号)m栏,上方范围内是否有重复或是为附件,这方面会因计数类别时重复,判断出来来扣除n栏,有附件的书(含附件),max回传有附件的书列号,row-max来产生0起的值,97+0,char windows ANSI 字符集就为a起o、p栏,目的是将有附件的书起迄的列号列出a栏,是附件,取出上方储存格(不含英文字符)的字串,不是附件,看类别和书籍名称是否重复。最后连接附件转换英文字符(n栏,这方面也可以不用判断,直接以连结n栏也可以)
楼主: vic12332000 (SSW)   2020-02-09 00:15:00
soyoso 大大,不好意思我好像又发现bug,我尝试将公式套用到另一个工作表,这个工作表里面有较多附件,也而且因为部分遗失,所以附件有多有少,问题是接着附件后的下一本的编号就没办法正常(请见41列亲职卡),我猜可能是I栏(即原本m栏的公式出现1以上的数字,不知道有无法解决?https://i.imgur.com/BxvO3hU.jpghttps://i.imgur.com/ZqgPdxZ.jpg
作者: soyoso (我是耀宗)   2020-02-09 09:12:00
=min(1,i栏公式)另外,这二篇有关编号内回文所提供的公式都不用在公式键入后加上组合键,如要加才会和另一篇 #1UF0UY_y 的回文写到哪一个储存格需要加上组合键
楼主: vic12332000 (SSW)   2020-02-09 18:40:00
有成功了!非常感谢soyoso大大,不知道可否再请教soyoso大大,不知道可否再请教如果我要把上图总表的项目,依类别传回后面的各类别表单,请问该怎么做呢?我以为用lookup,但好像没这么简单(ー ー;)
作者: soyoso (我是耀宗)   2020-02-09 19:04:00
index+small(if(...))的阵列公式。如不用就再加个辅助栏类别&countif(以累计方式不要计数整栏),回传上以vlookup(类别&row,...)
楼主: vic12332000 (SSW)   2020-02-09 19:59:00
我尝试后第一列顺利出来,但后面就出现错误 ,不知道哪里不对https://i.imgur.com/ZVkD7CU.jpg
作者: soyoso (我是耀宗)   2020-02-09 20:21:00
不用*,if内为真时的row内的列号要绝对参照这公式需键入后配合组合键ctrl+shift+enter
楼主: vic12332000 (SSW)   2020-02-09 20:26:00
我改掉了,但只出现奇数,且也把B001也代进来 https://i.imgur.com/CCeQaUG.jpghttps://i.imgur.com/cOOx1vH.jpg
作者: soyoso (我是耀宗)   2020-02-09 20:28:00
02/09 20:21所回文的,为真时的row内的列号要绝对参照
楼主: vic12332000 (SSW)   2020-02-09 20:52:00
我改成ROW(),有顺利按编号,但还是有B***的资料跑出来 https://i.imgur.com/qXdbEyf.jpg
作者: soyoso (我是耀宗)   2020-02-09 21:01:00
为何要改row(),回文就写row内的列号要绝对参照并没有说要改为row()#1UF0UY_y (Office)02/06 23:02 https://i.imgur.com/GKN0gNi.jpg原po回文的连结,不就是在if为真的row内列是加上绝对参照
楼主: vic12332000 (SSW)   2020-02-09 21:16:00
抱歉,我刚才没有搞懂绝对参照的意思,已经了解,改完有顺利跑出来了,非常谢谢你

Links booklink

Contact Us: admin [ a t ] ucptt.com