作者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/m.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