返回列表 上一主題 發帖

[發問] 如何將對應的值自動填入紅字框框內 (附檔案)

將E2:E4的〔合併〕取消,完成公式後再合併(陣列公式無法在合併格使用)

D2.陣列公式:右拉一格,下拉一列
=MAX((N(OFFSET($B$7,ROW($1:$7),COLUMN($A:$G)*5-4))=$C2)*IF(D$1="TC",{32,16,8,6,4,2,1},$B$8:$B$14))

D4.陣列公式:右拉一格
=--RIGHT(MIN(INT(ABS(N(OFFSET($B$7,ROW($1:$7),COLUMN($A:$G)*5-4))-$C4)*10^12)*100+IF(D$1="TC",{32,16,8,6,4,2,1},$B$8:$B$14)),2)

只針對附檔,不除錯∼∼

TOP

回復 3# mmokdtmj


<陣列公式輸入法> 
輸入或修改公式完成後,游標留在〔編輯列〕,先不要按Enter,
同時按住〔Shift + Ctrl〕不放,再按〔Enter〕。

另,D4公式與上一格不一樣!

TOP

回復 6# mmokdtmj

D4:
=--RIGHT(MIN(INT(ABS(N(OFFSET($B$7,ROW($1:$7),COLUMN($A:$G)*5-4))-$C4)*10^8)*100+IF(D$1="TC",{32,16,8,6,4,2,1},$B$8:$B$14)),2)

IOps 只能在萬位數及小數點8位數以內有效!(小數點太多位數不好處理)

TOP

本帖最後由 准提部林 於 2015-10-22 14:34 編輯

回復 8# mmokdtmj


EXCEL的數字長度最多15位,超過的都顯示0,可參考以下算法:
十萬為6位數,數字*10^7,則可將小數再進位7位,合計13位,
例如:=INT(124715.272815689*10^7) = 1247152728156

尾端〔2位〕則保留給陣列參數{32,16,8,6,4,2,1},
例如:=INT(124715.272815689*10^7)*100+{32,16,8,6,4,2,1}
則產生如下結果:{124715272815632,124715272815616,124715272815608,
124715272815606,124715272815604,124715272815602,124715272815601}

最後以 RIGHT(??,2) 取出後2位參數值∼∼

可依此邏輯去推要算小數的位數∼∼

ML089 板主的公式超絕,但計算邏輯就複雜得多,看得懂也可採用∼∼ 

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題