看板 Office 關於我們 聯絡資訊
※ 引述《A1pha ([αλφα])》之銘言: : 標題: [算表] EXCEL有辦法做到TAG的功能嗎? : 時間: Thu Nov 14 17:14:01 2019 : : 軟體: : EXCEL 365 : 版本: : 365 : : : : 我常常拿EXCEL當作資料庫或是LOG來用~ : 一直很好奇, : EXCEL有沒有辦法做出TAG的功能? : : 以前我的作法是在表格中設定一些幾個欄位來做TAG, : 例如要做3個TAG就要有3個欄位。 : : NAME|TAG1|TAG2|TAG3| : 這樣…… : : 但是這樣的缺點就是, : 我在做資料操作的時候,會變得很複雜, : 例如,我建立了一個TAG,可能叫做 「花費」 : 但是在建立資料的時候,可能不見得他會出現在哪一個TAG欄, : 所以當我在利用EXCEL函數作操作的時候,就很難搜尋。 : 不能只搜一個欄,必須三個TAG欄都搜,然後用OR的方式把三個搜尋結果疊起來。 : : 類似這樣: : : NAME|TAG1|TAG2|TAG3| : A___|花費|食物|晚餐| : B___|娛樂|花費|朋友| : C___|晚餐|電影|____| : : : 所以才在想有沒有辦法可以把TAG做到一個欄位裡面, : 這樣我在做函數要搜尋的時候, : 就可以直接悚一個欄位裡面做搜尋就好了。 : : 像這樣: : : NAME|TAG___________| : A___|花費,食物,晚餐| : B___|娛樂,花費,朋友| : C___|晚餐,電影_____| : : : 這樣我在做函數的操作的時候,只要搜一個欄位就可以了, : 不需要TAG1欄位搜一遍、TAG2欄位搜一遍、TAG3欄位搜一遍, : 然後把三個搜尋結果統整成一個陣列,在根據那一個陣列抓資料… : 實在太累人了。 : : 謝謝QQ : : : -- : ○ ○ ◢█████◣ ○ ○ ○ : ○ ██◤◤◤◤▎ ○ ○ : ○ ◢█◥██⊙–⊙▏ 幹你媽的!沒看過人魚喔! : ██████皿█ ▄▄▄▄▄▄▄ 崖上のboyo : ○ ◢█∕█◥██︶◤◤ ○ ○ ○ : ▂▅▄▆▇ by Airsupply : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.71.107 (臺灣) : ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1573722843.A.706.html : ※ 編輯: A1pha (118.160.71.107 臺灣), 11/14/2019 17:14:25 : ※ 編輯: A1pha (118.160.71.107 臺灣), 11/14/2019 17:18:39 : → soyoso: 是指將三個欄位的字串連接一起的意思嗎? 11/14 17:25 : → soyoso: 如果是的話,以&連結或函數textjoin 11/14 17:26 : → soyoso: 如 https://i.imgur.com/BgE58TZ.jpg 11/14 17:26 : → soyoso: 如不在一個欄位內且不以內文提到的or方式的話 11/14 17:35 : → soyoso: https://i.imgur.com/ShQ3eSo.jpg 11/14 17:35 請教一下Soyoso大大, 這邊我想確認一下我的理解對不對: {=INDEX(A:A,SMALL(IF(COUNTIF($H$1,B$1:D$100),ROW($1:$100)),ROW()))} 我知道Small(if( 的作法是利用IF做判斷, 將為TRUE的項目回傳其row值,然後組成一個陣列, 然後再利用SMALL 1, 2, 3...依序將row傳出來給Index定位。 但是我看不太懂怎麼利用countif 辦到這件事@@ 而且還直接解掉多個欄位判斷的問題@@ (我本來以為需要一個欄判斷一次, 然後將多個欄OR起來,沒想到一個countif秒解@@) 可以理解成這樣嗎? Countif 從B1-->B2-->B3-->C1-->C2-->C3-->D1-->...... 這樣的順序依序判斷下來, 值等於H1者,回傳1 (TRUE) 然後由於是 3*100 陣列 對應 1*100 陣列, 所以B1:D100第一排會對應1:100第一排, 也就是 B1:D100 中 B1,C1,D1 的結果會對應,1:100中的 1, 不論B1,C1,D1只要值等於H1,就會回傳1的結果, 藉此判斷哪一列有等於H1的值~~ 也就是說Countif在這邊並沒有跟平常一樣把最後的1跟0做加總, 只把對應的值轉換成1跟0的陣列之後就丟給IF去做判斷了@@ 這樣對嗎?@@ 真的太神了@@ 之前從沒想過Countif在陣列公式裡面可以這樣用@@ : → A1pha: 喔喔!! SOYOSO大大太強了@@ 我研究一下。 11/14 17:58 : → A1pha: 太感謝了!! 11/14 17:58 : 推 lecheck: 我的做法是預先定義tag 固定欄位 值就填1 然後應該就可 11/15 06:54 : → lecheck: 以做到動態查表 還要再研究... 11/15 06:54 這個作法也滿不錯的~只是TAG一多表就會變得很大@@ 所以才想用填寫, 或是先定義好選項再做成下拉選單的方式@@ -- 話說2007年BraDLey被DFA到教士後,放話砲轟豆爺。 傳說於97年上任的豆爺是這回答的... 豆: Guys like Milton BraDLey...What? So what? Who are you? Who are you Milton BraDLey to try to test Billy Beane a proven GM for 10 years? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.37.30 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1574050937.A.949.html ※ 編輯: A1pha (111.240.37.30 臺灣), 11/18/2019 12:28:43 ※ 編輯: A1pha (111.240.37.30 臺灣), 11/18/2019 12:30:37
soyoso: 說法上不一定相同,然對應這方面如原po所理解的 11/18 13:10
soyoso: 但順序依序方面,個人並無法確定,如以評估值來看也有可能 11/18 13:10
soyoso: 是b1→c1→d1→b2... 11/18 13:10
A1pha: 謝謝S大!! 11/18 13:16
A1pha: 也謝謝Cutekid大的指教! 11/18 13:17
newacc: 這邊我也滿好奇S大選擇使用COUNTIF的原因是什麼? 11/18 13:19
newacc: IF(H$1=B$1:D$100,ROW($1:$100))好像也是同樣效果? 11/18 13:21
soyoso: 也沒什麼原因,就當時想到什麼就回什麼了 11/18 13:21
soyoso: 是的 https://i.imgur.com/pSWnGPp.jpg 11/18 13:21
soyoso: 也是可行的,find、match配合isnumber什麼都行 11/18 13:23
soyoso: 我回文的當下不一定是最短的解法,就只是當下想到什麼就回 11/18 13:23
soyoso: 什麼吧了 11/18 13:24
newacc: 了解,我以為有什麼我沒有考慮到的特性~ 11/18 14:48