Τύπος Excel: Ομαλοποίηση μονάδων μεγέθους σε Gigabytes -

Γενική φόρμουλα

=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Περίληψη

Για να ομαλοποιήσετε τις μονάδες σε Gigabytes (ή megabyte, kilobytes κ.λπ.) μπορείτε να χρησιμοποιήσετε έναν έξυπνο τύπο βασισμένο στις συναρτήσεις MATCH, LEFT και RIGHT. Στο παράδειγμα που εμφανίζεται, ο τύπος στο C5 είναι:

=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Σημείωση: για απλότητα, χρησιμοποιούμε δεκαδικές (βάση 10) τιμές, αλλά υπάρχει και ένα δυαδικό πρότυπο. Δες παρακάτω.

Εξήγηση

Σημαντικό: αυτός ο τύπος προϋποθέτει ότι οι μονάδες είναι οι τελευταίοι 2 χαρακτήρες της συμβολοσειράς που περιλαμβάνουν τόσο έναν αριθμό όσο και μια μονάδα μέτρησης.

Αυτός ο τύπος λειτουργεί επειδή οι ψηφιακές μονάδες έχουν σχέση "ισχύος 10".

Στον πυρήνα, αυτός ο τύπος διαχωρίζει το αριθμητικό μέρος του μεγέθους από τη μονάδα και στη συνέχεια διαιρεί τον αριθμό από τον κατάλληλο διαιρέτη για να ομαλοποιηθεί σε Gigabytes. Ο διαιρέτης υπολογίζεται ως ισχύς 10, οπότε ο τύπος μειώνεται σε αυτό:

=number/10^power

Για να λάβετε τον αριθμό, ο τύπος εξάγει όλους τους χαρακτήρες από τα αριστερά έως και χωρίς να περιλαμβάνει τις ενότητες:

LEFT(B5,LEN(B5)-2)

Για να αποκτήσετε "ισχύ", ο τύπος ταιριάζει με τη μονάδα σε μια σταθερή κωδικοποιημένη συστοιχία:

MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)

Που επιστρέφει τη θέση της μονάδας στη σταθερά πίνακα. Για παράδειγμα, για τον τύπο στο C5, η μονάδα είναι "KB", οπότε η θέση είναι 5. Αυτό το αποτέλεσμα προσαρμόζεται αφαιρώντας το 3, πολλαπλασιάζοντας το αποτέλεσμα με το 3, το οποίο αποδίδει το 6 ως την ισχύ, η οποία χρησιμοποιείται ως εκθέτης για τον υπολογισμό του σωστού αποτελέσματος σε gigabyte:

=900/10^6 =900/1000000 =0.0009

Δυαδικός τυποποιημένος τύπος

Οι υπολογιστές χρησιμοποιούν το σύστημα δυαδικών αριθμών για να αποθηκεύουν και να αναφέρουν το μέγεθος των δεδομένων, αλλά τα προθέματα όπως "kilo", "mega", "giga" κ.λπ. βασίζονται στο μετρικό σύστημα. Είναι ένα συγκεχυμένο θέμα, αλλά η χρήση μονάδων δεκαδικού μεγέθους για αποθήκευση σε έναν υπολογιστή δεν είναι πραγματικά σωστή και η απόκλιση αυξάνεται καθώς οι μονάδες μεγαλώνουν. Ο παρακάτω τύπος θα κανονικοποιηθεί σε δυαδικές μονάδες.

=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)

Με αυτόν τον τύπο, λαμβάνετε τεχνικά Gibibytes (GiB), όχι Gigabytes. Περισσότερες πληροφορίες εδώ και εδώ.

Καλές συνδέσεις

Απάντηση Stackoverflow.com από τον Ron Rosenfeld

ενδιαφέροντα άρθρα...