Chciałbym sformatować komórkę w programie Microsoft Excel 2007 w systemie szesnastkowym, ale nie wiem, jak to zrobić.
Czy istnieje wbudowany sposób zmiany bazy z 10 na 16 dla komórki?
źródło
Chciałbym sformatować komórkę w programie Microsoft Excel 2007 w systemie szesnastkowym, ale nie wiem, jak to zrobić.
Czy istnieje wbudowany sposób zmiany bazy z 10 na 16 dla komórki?
Jak wspomniano wcześniej, formuła = DEC2HEX (A1) konwertuje na hex, a DEC2HEX (A1,8) konwertuje na hex z prefiksem 0, co oznacza 32 bity. Dodanie początkowych zer powoduje, że liczby są bardziej czytelne, szczególnie jeśli używasz czcionki o stałym punkcie, wersje szesnastkowe i dziesiętne mogą się pomieszać, gdy wszystkie cyfry w liczbie będą miały wartość 0–9 (np. 327701 = 50015).
Ulepszenie polega na dodaniu przedrostka „0x”. Można to zrobić na 2 sposoby. = "0x" i DEC2HEX (A1,8) załatwi sprawę, ale zmieni pole na pole tekstowe, więc nie będzie już można go łatwo używać w formułach. Inną metodą jest użycie niestandardowego formatu. Jeśli zastosujesz niestandardowy format „0x” @ do komórki, wówczas wartość komórki będzie nadal mogła być używana w równaniu. Przykłady:
╔═══╦════════════════╦════════════╦═══════════════ ══════════════╦═══════════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬════════════════╬════════════╬═══════════════ ══════════════╬═══════════════╣ ║ 1 ║ ║ Wartość ║ Odpowiednia formuła Format Format liczb ║ ║ 2 ║ Dziesiętny ║ 11162790 ║ 11162790 ║ Ogólne ║ ║ 3 ║ Hex ║ AA54A6 ║ = DEC2HEX (B2) ║ Ogólne ║ ║ 4 ║ wiodące zera ║ 00AA54A6 ║ = DEC2HEX (B2,8) ║ Ogólne ║ ║ 5 ║ Prefiks tekstowy 0x ║ 0x00AA54A6 ║ = DEC2HEX (B2,8) ║ „0x” @ ║ ║ 6 ║ Prefiks tekstowy 0x ║ 0x00AA54A6 ║ = „0x” i DEC2HEX (B2,8) ║ Ogólne ║ ║ 7 ║ Użyj B5 ║ AA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ Ogólne ║ ║ 8 ║ Użyj B5 ║ 0xAA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ „0x” @ ║ ║ 9 ║ Spróbuj użyć B6 ║ #NUM! ║ = DEC2HEX (HEX2DEC (B6) * 256) ║ Ogólne ║ ╚═══╩════════════════╩════════════╩═══════════════ ══════════════╩═══════════════╝
╔═══╦═════════════╦═══════════════╦═══════════════ ═════════════════════╦═════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬═════════════╬═══════════════╬═══════════════ ═════════════════════╬═════════╣ ║ 1 ║ ║ Wartość ║ Odpowiednia formuła ║ Format ║ ║ 2 ║ dziesiętny ║ 3 098,743,209 ║ 3098743209 ║ #, ## 0 ║ ║ 3 ║ Górne bajty ║ B8B3 ║ = DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ Ogólne ║ ║ 4 ║ Niższe bajty ║ 11A9 ║ = DEC2HEX (MOD (B2, 2 ^ 16)) ║ Ogólne ║ ║ 5 ║ Pełny numer ║ 0xB8B3_11A9 ║ = „0x” i DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ Ogólne ║ ║ ║ ║ ║ & "_" i DEC2HEX (MOD (B2, 2 ^ 16), 4) ║ ║ ╚═══╩═════════════╩═══════════════╩═══════════════ ═════════════════════╩═════════╝
Jeśli chcesz sformatować komórkę, aby móc wpisać liczbę dziesiętną i automatycznie wyświetlać ją jako liczbę szesnastkową, nie jest to możliwe. Możesz albo sformatować komórkę jako tekst i wprowadzić liczby szesnastkowe bezpośrednio (ale pamiętaj, że Excel nie może używać ich do obliczeń), lub użyj funkcji DEC2HEX()
i HEX2DEC()
do konwersji między bazą 10 a bazą 16.
DEC2BIN()
co konwertuje na binarne. Aby uzyskać plik binarny o stałej szerokości, użyj czegoś takiego=TEXT(DEC2BIN(A1), "0000")
A1
Użyj komórki do konwersji=DEC2HEX(A1)
.źródło
="0x"&DEC2HEX(A1,4)
aby uzyskać wynik, który wygląda jak0x1AF2
.Jeśli chcesz wykonać operacje matematyczne na liczbach przekonwertowanych na szesnastkowe, najpierw przekonwertuj je na dziesiętne, wykonaj operację, a następnie przekonwertuj z powrotem na szesnastkowy.
Na przykład, jeśli komórka
A1
ma numer szesnastkowy, taki jak utworzony z tej formuły:który byłby wyświetlany jako 11, a komórka
A2
ma formułę:który byłby wyświetlany jako
A5
i chcesz je dodać razem, wówczas ta formuła uzyska pożądany wynik:który byłby wyświetlany jako
B6
źródło
Formuła REPT powtarza „0” na podstawie długości ciągu szesnastkowego, który jest generowany przez konwersję go z dziesiętnej, i pożądanej długości ciągu HEX. W tym przykładzie chcę wygenerować ciągi HEX o długości 4.
Następnie konkatenuje się zera wiodące z rzeczywistym łańcuchem HEX, generując w ten sposób wartość HEX o pożądanej długości.
Zalety:
Uwaga: używam tego, gdy kopiuję ciągi HEX i są one kopiowane w różnych długościach. Najpierw generuję kolumnę wartości dziesiętnych na podstawie oryginalnych wartości, na których mogę następnie uruchomić tę formułę.
źródło
Oto rozwiązanie, które zapewniłem, że mogę sformatować te liczby szesnastkowe w formacie HTML:
źródło