Onaltılık bir Microsoft Excel 2007 hücre nasıl biçimlendirilir?


27

Bir hücreyi onaltılık Microsoft Excel 2007'de biçimlendirmek istiyorum ancak bunun nasıl yapılacağını bulmak istemiyorum.

Bir hücre için tabanı 10'dan 16'ya değiştirmenin yerleşik bir yolu var mı?

Yanıtlar:


18

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 ║
╚═══╩════════════════╩════════════╩═══════════════ ══════════════╩═══════════════╝


Ancak, değişen rakamlara sahip büyük rakamların okunması hala zor olabilir, bu yüzden virgülleri ondalık sayılara ve "_" s ise onaltılık sayılara koymaktan hoşlanırım. Öncelikle, sayının 16 bitlik altını almanız gerekir. 32 bitlik bir sayının üst 16 biti = INT ile alınabilir (A1 / 2 ^ 16). 2 ^ 16'ya bölmek, 16 bitlik sağa kaydırma gibi davranır ve INT, kesirli kalanları kaldırır. MOD herhangi bir 32 veya 64 bitlik sayının 16 bitini elde etmek için kullanılabilir; = MOD (A1, 2 ^ 16). MOD, kalan 16 bit olan geri kalan kısmı etkili bir şekilde geri alır. İşte bu eylemi gösteren bir tablo.

╔═══╦═════════════╦═══════════════╦═══════════════ ═════════════════════╦═════════╗
║ ║ 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) ║ ║
╚═══╩═════════════╩═══════════════╩═══════════════ ═════════════════════╩═════════╝


BTW, https://ozh.github.io/ascii-tables/ adresine çok teşekkür ediyorum . ASCII metin tablolarını oluşturmak için bu bağlantıyı kullandım. Tabloyu excel elektronik tablomuzdan Giriş bölümüne kopyaladım ve otomatik olarak güzel unicode metin düzenini yarattı.


16

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 .


1
Başvuru için, DEC2BIN()ikiliye dönüştüren de var . Sabit genişlikli ikili için, bunun gibi bir şey kullanın=TEXT(DEC2BIN(A1), "0000")
Tor Klingberg

1
Yerelleştirilmiş bir Excel 2013'te, DEC2HEX ve HEX2DEC, #NAME hata mesajına neden olur. Office Yardımı ile işlevlerin DEZINHEX ve HEXINDEZ olarak adlandırıldığını öğrenebilirim.
Bernhard Hiller

= 0x1234AB - = 0x001234AB (8 sabit genişliğe ihtiyacım var) nasıl genişletilir?
Danijel

@Danijel DEC2HEX'in ikinci parametresini kullanın.
Vincent G

7

Dönüştürülecek hücre ise A1kullanılmasıdır =DEC2HEX(A1).


2
Onaltılı değerinize baştaki "0x" eklemek isteyebilirsiniz. Benzeyen ="0x"&DEC2HEX(A1,4)bir sonuç almak için kullanın 0x1AF2.
Kullanıcı5910

4

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 A1onaltılı bir numarası varsa, bu formülün oluşturduğu gibi:

=DEC2HEX(17)

11 olarak görüntülenecek ve hücrenin A2formülü var:

=DEC2HEX(165)

ki bunlar görüntülenecek A5ve 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


1
=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ı:

  1. Formülün diğer çalışma sayfalarına kolayca basılması. Yalnızca iki hücreli, yeniden atamak için bir ondalık değere (B3) gönderme yapar.
  2. Bu formülün sonuçları Excel tarafından HEX değerleri olarak değerlendirilir. Ayrıca "0x" önekini de kullanabilirsiniz, ancak gerekli görmüyorum.

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.


0

İş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))

2
Kodunuzda neler olup bittiğinin açıklanması cevabı daha kullanışlı hale getirecektir.
WilliamKF
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.