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