roy911g wrote:
你似乎誤會我的意思了
我並不是要查詢A1數字
我試了你的公式之後並沒有累加功能


使用 A1 當查詢值的方式,可方便臨時查詢特定數值的十六進位值!

增加稍微瘦身後的版本:

A1:(查詢值)

A3:
=CHOOSE(INT((LEN(DEC2HEX(A1))+1)/2),"XX:XX:XX:00:00:"&DEC2HEX(A1,2),MID("XX:XX:XX:00:0",1,16-LEN(DEC2HEX(A1)))&LEFT(DEC2HEX(A1),INT(LEN(DEC2HEX(A1))/2))&":"&RIGHT(DEC2HEX(A1),2),MID("XX:XX:XX:0",1,15-LEN(DEC2HEX(A1)))&LEFT(DEC2HEX(A1),INT(LEN(DEC2HEX(A1))/3))&":"&MID(DEC2HEX(A1),INT(LEN(DEC2HEX(A1))/2),2)&":"&RIGHT(DEC2HEX(A1),2))


如果要有累加功能,則使用下列函數:

A1:
=CHOOSE(INT((LEN(DEC2HEX(ROW()))+1)/2),"XX:XX:XX:00:00:"&DEC2HEX(ROW(),2),MID("XX:XX:XX:00:0",1,16-LEN(DEC2HEX(ROW())))&LEFT(DEC2HEX(ROW()),INT(LEN(DEC2HEX(ROW()))/2))&":"&RIGHT(DEC2HEX(ROW()),2),MID("XX:XX:XX:0",1,15-LEN(DEC2HEX(ROW())))&LEFT(DEC2HEX(ROW()),INT(LEN(DEC2HEX(ROW()))/3))&":"&MID(DEC2HEX(ROW()),INT(LEN(DEC2HEX(ROW()))/2),2)&":"&RIGHT(DEC2HEX(ROW()),2))

下方欄位直接複製!
My Interior Knowledge is Extraordinaire
okdnsfht wrote:
一定要同一欄裡面才可以嗎?


借用其它欄位來做反而比較容易,
但如果遇到制式表格,不方便在其它欄位加東西的話就會比較麻煩,
所以除非遇到真的無法用單一欄位完成的函數,我才會考慮借用其它欄位!
My Interior Knowledge is Extraordinaire
roy911g wrote:
我想再請問一下如果我要在2個數的中間加個:號
例,XX:XX:XX:00:00:00...(恕刪)


太無聊…試寫一下,這應該是您要的吧

這個問題,雖然看似複雜,其實是很簡單的

不需分欄,可累加,迷你版

=REPLACE(REPLACE(("aa:bb:cc:" & DEC2HEX(ROW(),6)),12,,":"),15,,":")

不過,您確定要這樣要產生到 FF:FF:FF ,excel 要拉到第 16777215 格

就算分欄a~z 用完,每欄都要 645277格,電腦會跑不動的

建議改成定義起始值範圍產生,起始值用十進位,例如從 00:FF:FF (65535)開始產生

=REPLACE(REPLACE(("aa:bb:cc:" & DEC2HEX(ROW()+ 65535 ,6)),12,,":"),15,,":")
snare wrote:
不需分欄,可累加,迷你版
=REPLACE(REPLACE(("aa:bb:cc:" & DEC2HEX(ROW(),6)),12,,":"),15,,":")


果然是超級精簡版,學起來了!

想請教一下,
Replace 函數的第三個引數在說明中提到為必要值,
但您的精簡版在該位置用了兩個逗號,並未輸入數值,
似乎是為了保留該引數的位置,並當作引數值為 0,
(測試在兩個逗號中加入 0,結果也相同)
所以可用引數 0 讓取代功能變成插入,對嗎?
但該函數的說明中卻未提到這種用法!
My Interior Knowledge is Extraordinaire
Mystique Hsiao wrote:
所以可用引數 0 讓取代功能變成插入,對嗎?...(恕刪)


對的

那個引數的功能是,使用第4個引數,替換掉幾個字的意思,0不取代,就變插入了
用 int(a1/256) ,mod(a1,265), mod(int(a1/256),256)

算商和餘數,你就能將數 拆成 3byte

再用 dec2hex(a4,2),就能將上述三個byte 轉成 hex 00~FF

再用 =a8 &":"&a9 &":"&a10 &":"&a11 &":"&a12 &":"&13&"

就能拼 11:22:33:44:55:77 這樣的樣式

跟本不用這麼複雜的公式。



snare wrote:
對的
那個引數的功能是,使用第4個引數,替換掉幾個字的意思,0不取代,就變插入了


微軟竟然沒有在說明中提到這一招.
害我以為 Replace 函數只有取代功能!
My Interior Knowledge is Extraordinaire
Eigen wrote:
用 int(a1/256) ,mod(a1,265), mod(int(a1/256),256)

算商和餘數,你就能將數 拆成 3byte

再用 dec2hex(a4,2),就能將上述三個byte 轉成 hex 00~FF

再用 =a8 &":"&a9 &":"&a10 &":"&a11 &":"&a12 &":"&13&"

就能拼 11:22:33:44:55:77 這樣的樣式...(恕刪)


您這個是“只有“將 a1 這一格

使用“分列“的方式,再合併成 11:22:33:44:55:77

如果有其它數值就只能放在 b1 c1 d1 ... 往後放了

跟提問者問的有一點點不一樣喔

發問的問題是,自動產生“整欄”十六進位=>自動進位=>自動加 ":"
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!