在前幾篇文章中提及了 SUMPROCUT 函數的使用,你有了解了嗎?
Excel-互通陣列公式、SUM+IF、SUMIF、SUMIFS、SUMPRODUCT
SUMPRODUCT 函數對於處理陣列資料的功能性很強,本篇再來讓初學者有一些練習,以增強理解與應用。
【使用 SUMPRODUCT 函數】
在前幾篇文章中提及了 SUMPROCUT 函數的使用,你有了解了嗎?
Excel-互通陣列公式、SUM+IF、SUMIF、SUMIFS、SUMPRODUCT
SUMPRODUCT 函數對於處理陣列資料的功能性很強,本篇再來讓初學者有一些練習,以增強理解與應用。
【使用 SUMPRODUCT 函數】
本篇要利用產生天干和地支的排列組合,來練習查表的操作。
會使用到函數:INDEX、ROW、INT、MOD。
首先,定義儲存格範圍的名稱。
選取儲存格A2:A12,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:天干。
選取儲存格B2:B14,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:地支。
在 Excel 中,除了拿來做為試算功能之外,更可以用來做資料的處理。
例如在下圖中,有一個表格是由星期、時段和人員組成的表格。如何從左圖轉換為右圖?
(本例中每一天,每一個人員只會出現一次。)
【公式設計與解析】
儲存格G3:=IFERROR(INDEX($B$2:$D$2,MATCH(G$2,$B3:$D3,0)),"")
前一篇文章:Excel-如何不使用陣列公式列出符合條件的清單,要幫助不會使用陣列公式的人也能做到複雜的公式相同結果。本篇也是來看看網友常問的問題中「列出不重覆的清單」,如何不使用陣列公式達到相同結果。
在下圖中,如果要使用陣列公式來根據G欄的原始資料,列出不重覆的資料清單。
如果以陣列公式來處理,儲存格H3:
{=INDEX($G$3:$G$30,SMALL(IF($G$4:$G$31=$G$3:$G$30,"",
ROW(G$3:$G$30)),ROW(1:1))-2)}
如果你在 Windows 10 中的顯示器設定了較高(最高)的解析度,但是又覺得字太小了,所以又設定把字放大120%。
當你開啟某個應程式時,發現應用程式的表單或是功能表上的文字變的較為模糊,該如何處理?
你可以在顯示器設定中選取「進階縮放設定」。
在解答網友問題的過程中,常會發現網友對於陣列公式的接受度低,因為不易理解。而且一個儲存格中包含過多的函數,也讓人在理解之路困難重重。
例如,以下的範例要在姓名的清單中,依指定的文字找出姓名中含有該文字的清單。
如果以陣列公式來處理,可以在一個儲存格中即可求得解答。
儲存格C3公式:
{=IFERROR(OFFSET(A$2,SMALL(IF(SUBSTITUTE(姓名,$D$1,"")<>姓名,
網友問到:在 Excel 中如果使用的版本沒有提供 CONCAT 函數,如果要做到如下圖要串接被勾選的對應儲存格內容,該如何處理?
儲存格L2:{=CONCAT(IF(B2:K2="V",B$1:K$1,""))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。
在 Excel 2019 版以上就有 CONCAT 函數,使用上相當方便。
但是不同版本裡,沒有 CONCAT 函數時,只好使用數個輔助欄位來協助。(下圖中的M欄至V欄)
在 Excel 裡,有許多公式中都需要用到邏輯判斷,例如函數:NOT、AND、OR、XOR等,可以直接做邏輯運算,而函數:IF、IFS、SWITCH、IFERROR、IFNA等在參數中也都含有運算結果 TRUE/FALSE 的判斷。
邏輯運算有其規則,使用時要先知道其邏輯概念,必要時背下來,使用上不容易出錯。
有些初學者要理解這些相關的邏輯判斷的確不容易,藉助其他工具來幫助理解吧!
網友常會問到在 Excel 中要將儲存格內容串接的問題,實在不容易做到。
但是仍然可以使用 PHONETIC 函數和 CONCAT 函數能做到的部分來練習。
1. 串接有「V」對應的項目
儲存格L2:{=CONCAT(IF(B2:K2="V",B$1:K$1,""))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。
延續前二篇:
本篇要來練習如何互通陣列公式、SUMIF、SUMPRODUCT等函數的使用。
在下圖左的資料清單裡,如果要計算所以A*B的總和,先把每一組A*B算出後(C欄),再予以加總。但是,如果使用陣列公式,則公式顯的簡捷。