亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
849
2025-04-01
LOOKUP函數查找唯一值,簡單又實用!
如何根據單元格是否有值,取到對應行的標題(應該是對應列標題,屬于提問描述有誤)?并且每行中有且只有一個非空單元格。
考慮到數據隱私,我自己模擬了一個簡單的表格,來看如何解決這個問題。
▲ 教學案例模擬
如圖,左側表格記錄的是A、B、C、D、E5名選手在一項比賽的用時,總共4局,只記錄唯一一個成功的選手及用時,記錄了4行。現在要求在I列處,將每一局成功的選手提取出來。請考慮1分鐘,如果是你,你會使用什么方法?今天,徐老師跟大家分享兩種方法。
方法1:數組法
對這個問題,大多數人的思考邏輯是:在每一行數據中,挨個判斷每個單元格是不是非空,如果是,則將對應列標題提取出來。邏輯很簡單,但是真的寫起來是有難度的,需要對函數、對數組有著非常熟練的掌握。
挨個判斷每個單元格——須用到數組;
是不是非空單元格——NOT(ISBLANK())
找到對應標題的單元格地址——ADDRESS(所在行,所在列)
提取對應標題——INDIRECT(ADDRESS())
所以你看,首先你得知道EXCEL里有ISBLANK、ADDRESS、INDIRECT等等這些函數,然后才有可能想起它們,將思路拆解并轉化為每一步公式。否則,即使你的思路再清晰也沒用!學習EXCEL,就是幫助我們把有思路真正轉化為有效思考,否則就是空中樓閣。經過拆解后,下面來看我寫的公式:
公式:{=INDIRECT(ADDRESS(2,MAX(IF(NOT(ISBLANK(C3:G3)),COLUMN(C3:G3),0)))) }
利用數組公式判斷一行中每個單元格是否為非空,如果是則返回對應的列號(COLUMN函數),否則返回0。這樣IF函數返回的就是一個數組,以第1局為例,返回結果為{0,4,0,0,0}。IF外面嵌套MAX函數,從數組中求出最大值,以第1局為例,即為4。再用ADDRESS(2,4)計算出對應標題的單元格地址,即$D$2單元格,最后用INDIRECT函數返回文本指向的單元格,得到$D$2對應值——B。其它幾行, 同樣的公式。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。