Yanıtlar:
Daha önce belirtildiği gibi, = DEC2HEX (A1) formülü hex'e dönüştürür ve DEC2HEX (A1,8) 32 bit ifade etmek için 0 öneki ile hex'e dönüştürür. Önde gelen 0'ların eklenmesi sayıları daha okunaklı kılarken, özellikle sabit nokta yazı tipi kullanırsanız, sayıdaki tüm sayılar 0-9 olduğunda altıgen ve ondalık sürümler karışabilir. (Örneğin 327701 = 50015).
Bir iyileştirme "0x" ön ekini eklemektir. Bunu yapmanın 2 yolu vardır. = "0x" & DEC2HEX (A1,8) hile yapacak, ancak alanı bir metin alanına dönüştürüyor, böylece formüllerde artık kolayca kullanılamıyor. Diğer bir yöntem ise özel bir format kullanmaktır. Özel formatı "0x" @ hücreye uygularsanız, hücrenin değeri hala bir denklemde kullanılabilir. Örnekler:
╔═══╦════════════════╦════════════╦═══════════════ ══════════════╦═══════════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬════════════════╬════════════╬═══════════════ ══════════════╬═══════════════╣ ║ 1 ║ ║ Değer ║ Karşılık gelen formül ║ Sayı biçimi ║ ║ 2 ║ Ondalık ║ 11162790 ║ 11162790 ║ Genel ║ ║ 3 ║ Hex ║ AA54A6 ║ = DEC2HEX (B2) ║ Genel ║ ║ 4 ║ önde gelen 0 ║ 00AA54A6 ║ = DEC2HEX (B2,8) ║ Genel ║ ║ 5 ║ Metin 0x öneki ║ 0x00AA54A6 ║ = DEC2HEX (B2,8) ║ "0x" @ ║ ║ 6 ║ Metin 0x öneki ║ 0x00AA54A6 ║ = "0x" ve DEC2HEX (B2,8) ║ Genel ║ ║ 7 ║ B5 kullanın ║ AA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ Genel ║ ║ 8 ║ B5 kullanın ║ 0xAA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ "0x" @ ║ 9 ║ B6 ║ #SAYI kullanmaya çalışın! DEC = DEC2HEX (HEX2DEC (B6) * 256) ║ Genel ║ ╚═══╩════════════════╩════════════╩═══════════════ ══════════════╩═══════════════╝
╔═══╦═════════════╦═══════════════╦═══════════════ ═════════════════════╦═════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬═════════════╬═══════════════╬═══════════════ ═════════════════════╬═════════╣ ║ 1 ║ ║ Değer ║ İlgili Formül ula Format ║ ║ 2 ║ Ondalık ║ 3,098,743,209 ║ 3098743209 ║ #, ## 0 ║ ║ 3 ║ Üst Bayt ║ B8B3 ║ = DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ Genel ║ ║ 4 ║ Alt Bayt ║ 11A9 ║ = DEC2HEX (MOD (B2, 2 ^ 16)) ║ Genel ║ ║ 5 ║ Tam Sayı ║ 0xB8B3_11A9 ║ = "0x" ve DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ Genel ║ ║ ║ ║ ║ & "_" ve DEC2HEX (MOD (B2, 2 ^ 16), 4) ║ ║ ╚═══╩═════════════╩═══════════════╩═══════════════ ═════════════════════╩═════════╝
Bir hücreyi ondalık sayı yazabilmeniz ve otomatik olarak onaltılık bir sayı olarak gösterebilmeniz için biçimlendirmek istiyorsanız, bu mümkün değildir. Hücreyi metin olarak biçimlendirebilir ve doğrudan onaltılık sayıları girebilirsiniz (ancak Excel'in hesaplamalarda kullanamayacağına dikkat edin) veya taban 10 ile taban 16 arasında dönüşüm yapmak için DEC2HEX()
ve HEX2DEC()
işlevlerini kullanabilirsiniz .
Dönüştürülecek hücre ise A1
kullanılmasıdır =DEC2HEX(A1)
.
="0x"&DEC2HEX(A1,4)
bir sonuç almak için kullanın 0x1AF2
.
Onaltılıma dönüştürülen sayılar üzerinde matematiksel işlemler yapmanız gerekiyorsa, önce bunları ondalık sayıya dönüştürün, işlemi gerçekleştirin, sonra tekrar hex'e dönüştürün.
Örneğin, hücrenin A1
onaltılı bir numarası varsa, bu formülün oluşturduğu gibi:
=DEC2HEX(17)
11 olarak görüntülenecek ve hücrenin A2
formülü var:
=DEC2HEX(165)
ki bunlar görüntülenecek A5
ve siz onları bir araya getirmek istiyorsanız, o zaman bu formül istediğiniz sonucu elde edecektir:
=DEC2HEX(HEX2DEC(A1)+HEX2DEC(A2))
hangi olarak görüntülenecek B6
=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)
REPT formülü, onluktan dönüştürerek oluşturulan altıgen dizenin uzunluğuna ve HEX dizesinin istenen uzunluğuna bağlı olarak "0" ı tekrarlar. Bu örnekte, 4 uzunluklu HEX dizeleri oluşturmaya çalışıyorum.
Daha sonra baştaki sıfırları gerçek HEX dizesiyle birleştirirsiniz, böylece istenen uzunlukta HEX değeri elde edersiniz.
Avantajları:
Not: Bunu, HEX dizelerini kopyalarken ve farklı uzunluklarda kopyalarken kullanıyorum. Öncelikle bu formülü çalıştırabileceğim orijinal değerlerden bir ondalık değer sütunu oluşturdum.
İşte bu onaltılık sayıları HTML biçiminde biçimlendirebileceğimden emin olduğum bir çözüm:
SWITCH(LEN(DEC2HEX(B6)),1,"000"&DEC2HEX(B6),2,"00"&DEC2HEX(B6),3,"0"&DEC2HEX(B6),4,DEC2HEX(B6))
DEC2BIN()
ikiliye dönüştüren de var . Sabit genişlikli ikili için, bunun gibi bir şey kullanın=TEXT(DEC2BIN(A1), "0000")