Excel-手動計算十六進制數轉十進制數(OFFSET,MATCH | excel hex2dec
在Excel中有時會用到十六進制數,運算時也可能需要先轉換為十進制數,所幸Excel提供的HEX2DEC函數,可以直接轉換這兩種進制數。儲存格E2:=HEX2DEC(D2)複製儲存格E2,貼至儲存格E2:E7。但是,對於那些沒有HEX2DEC函數的Excel版本使用者,要如何轉換呢?藉著這個範例來順便練習陣列的應用。儲存格E2:={SUM(N(OFFSET($B$1,MATCH(MID(D2,ROW($1:$4),1),$A$2:$A$17,0),0))*16(4-ROW($1:$4)))}這是陣列公式,輸入完成按Ctrl+Shift+Enter鍵,Excel自動加上「{}」複製儲存格E2,貼至儲存格E2:E7。 【分析公式】儲存格E2:={SUM(N(OFFSE...
在 Excel 中有時會用到十六進制數,運算時也可能需要先轉換為十進制數,所幸 Excel 提供的 HEX2DEC 函數,可以直接轉換這兩種進制數。
儲存格E2:=HEX2DEC(D2)
複製儲存格E2,貼至儲存格E2:E7。
但是,對於那些沒有 HEX2DEC 函數的 Excel 版本使用者,要如何轉換呢?藉著這個範例來順便練習陣列的應用。
儲存格E2:={SUM(N(OFFSET($B$1,MATCH(MID(D2,ROW($1:$4),1),$A$2:$A$17,0),0))*16(4-ROW($1:$4)))}
這是陣列公式,輸入完成按 Ctrl+Shift+Enter 鍵,Excel 自動加上「{}」
複製儲存格E2,貼至儲存格E2:E7。
【分析公式】
儲存格E2:={SUM(N(OFFSET($B$1,MATCH(MID(D2,ROW($1:$4),1),$A$2:$A$17,0),0))*16(4-ROW($1:$4)))}
MID(D2,ROW($1:$4),1):在陣列公式中取出儲存格D2的第1,2,3,4個字元。
MATCH(MID(D2,ROW($1:$4),1),$A$2:$A$17,0):藉由 MATCH 函數找出每個字元(十六進制數)所對應的十進制數的位置。
接著利用 OFFSET 函數將上式的位置在B欄中找到對應的十進制數。
16(4-ROW($1:$4)):十六進制數的第一個字元其實是對應到 16 的 3 次方,第二個字元對應到 16 的 2 次方,第三個字元對應到 16 的 1 次方,第四個字元對應到 16 的 0 次方。
最後再以 SUM 函數將 1 ~ 4 個字元的十六進制數所轉換而得的十進制數予以加總。