返回列表 上一主題 發帖

如何去找離自己最近的值?

本帖最後由 准提部林 於 2024-2-5 12:19 編輯

K2/陣列公式/右拉下拉
=IF(OR($C$1:$F1=C2),G2-MOD(MAX(($C$1:$F1=C2)*(ROW($A$1:$A1)*10^5+$G$1:$J1)),10^5),"")

以"列號"*10^5 + 數字...求出最大值, 再MOD餘數...即是上一個最後出現的數字

TOP

回復 7# 藍天麗池


陣列公式
Ctrl + Alt, Enter 三鍵完成

TOP

回復 10# 藍天麗池

GOOGLE一下//陣列公式的用法吧!!!
Xl0000216.rar (4.11 KB)

TOP

回復 13# 藍天麗池

1) 單格的陣列公式, 在一個儲存格編輯公式, 再用三鍵輸入, 然後複製到其它儲存格(通常是:右拉/下拉)
2) 區域的陣列公式, 則要選取一個區域再按三鍵

通常習慣使用單格陣列公式, 適合擴張範圍~~

google應可找到更多解釋, 卻只去看一個...???

TOP

回復 15# 藍天麗池


是我打錯了, 應該是Shift + Ctrl + Enter

TOP

本帖最後由 准提部林 於 2024-2-7 10:09 編輯

回復 17# 藍天麗池

觀察陣列公式, 得善用"F9", 以下公式逐一輸入至 K5, 在"編輯狀態"下, 按F9看看//
(1) =($C$1:$F4=C5)  按F9,
    可看到//{FALSE,FALSE,FALSE,FALSE;FALSE,TRUE,FALSE,FALSE;TRUE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE}
(2) =($C$1:$F4=C5)*(ROW($A$1:$A4)*10^5+$G$1:$J4)
    //{0,0,0,0;0,200005,0,0;300012,0,0,0;0,0,0,0}

(3) =MAX(($C$1:$F4=C5)*(ROW($A$1:$A4)*10^5+$G$1:$J4)) ... 這時只會出現一個結果//300012...mod尾數12就是結果

在完整公式下,
=IF(OR($C$1:$F4=C5),G5-MOD(MAX(($C$1:$F4=C5)*(ROW($A$1:$A4)*10^5+$G$1:$J4)),10^5),"")
選取紅色字段, 再按F9, 即為(2)的結果

TOP

本帖最後由 准提部林 於 2024-2-7 10:24 編輯

回復 17# 藍天麗池


2.這個陣列公式輸入完沒問題後,我再去點K2讓她呈現編輯狀態,
然後什麼都不改,在按ENTER,之後她會出現#VALUE,為啥{}會消失不見?又為啥自己加{}卻沒辦法有陣列的效果了呢?


只要點進儲存格, 不管裡面是空格/文字或公式, 它就達到 CHANGE 效果

問題(3)//點"錄製巨集" >> 點進公式編輯. 三鍵完成 > 停止錄製
公式對儲存格有"相對參照/絕對參照"之分, 在不同位置產生不同參照, 若不熟悉其運作, 使用錄製出來的程式碼較不會有問題~~

剛入EXCEL之門, 還是要自行多多GOOGLE, 或再多花時間看看論壇帖子吧!  
因為回答起來太花時間~~~回答了問題又會問更多///

TOP

回復 21# 藍天麗池


上傳檔案看看~~

TOP

本帖最後由 准提部林 於 2024-2-17 11:47 編輯

回復 23# 藍天麗池


檔案測不了//
可用另一方式:利用一儲存格(例如:V4)輸入陣列公式, 執行時用V4去COPY
    If Not Intersect(Target, [B5:B210000]) Is Nothing Then
       Range("V4").Copy Range("V" & Target.Row)

TOP

        靜思自在 : 話多不如話少,話少不如話好。
返回列表 上一主題