返回列表 上一主題 發帖

[發問] 組合跳列篩選

本帖最後由 ML089 於 2021-10-30 09:16 編輯

C1 陣列公式
=LOOKUP(1,IF({1;0},{0,""},INDEX(列221ALL,SMALL(IF(COUNTIF(列226C_AY,列221C_AY)=0,COLUMN(列221C_AY)),COLUMN(A1)))^{0,1}))

建立公式名稱:先選擇C1,工具列 公式 - 名稱管理員 - 新增 以下名稱

列221ALL   =OFFSET(Sheet2!$A$221:$AY$221,ROW()*12-12,)                                               
列221C_AY  =OFFSET(Sheet2!$C$221:$AY$221,ROW()*12-12,)                                               
列226C_AY  =OFFSET(Sheet2!$C$226:$AY$226,ROW()*12-12,)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ML089 於 2021-10-30 12:23 編輯

回復 3# ziv976688
詳檔案測試
組合跳列篩選_1030A.rar (23.77 KB)

OFFSET(Sheet2!$C$221:$AY$221,ROW()*12-12,) 
1 使用名稱公式設定帶入原公式,執行 OK
2 將其帶入原公式內,執行NG。
主要是在工作表公式裡 OFFSET  參數若使用 ROW()時被視為陣列型態(不定值),需要在 OFFSET外在掛 N(....)
這個決解方法就是在 ROW(...) 外掛上 MAX( ... ),系統會視為定值
問題是原式 加入 OFFSET 及 MAX 後,巢狀迴圈超過數量,無法使用
拿INDEX(...)這段主要公式來測試,
         加 OFFSET(...ROW(...) ...) ,NG
         加 OFFSET(...MAX(ROW(...) ...) ,OK
你可以用 INDEX(...OFFSET(...MAX(ROW(...))...) & "",也可以達成,只是數字為文字型態
下方舊檔案無法刪除,不用下載

組合跳列篩選_1030.rar (20.66 KB)

組合跳列篩選_1030.rar (20.66 KB)

{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 8# ziv976688

定義名稱公式好像很麻煩,如果資料位置都是名稱定義,日後維護公式反而容易,如要擴張資料範圍或移動資料位置,公式不用改變,只要重新資料位置名稱,修改公式反而容易一些。
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題