2013-03-04 13 views
7

Potrzebuję funkcji, która zajmie całą wartość komórki w programie Excel i przekonwertuje wartość na jej wartość równoważnika MD5 w nowej komórce. Czy istnieje formuła excel, która to robi? Potrzebuję rozwiązania bez użycia VBA. Czy to możliwe?Funkcja skrótu MD5 w programie excel bez użycia VBA

+5

* "Potrzebuję rozwiązania bez użycia VBA." * Krótka odpowiedź na to pytanie: Nie. – Tomalak

+3

Podejście VBA jest omówione tutaj: http://stackoverflow.com/questions/125785/password-hash-function-for-excel -vba/125844. Nie mówisz, dlaczego Twoje wymagania zabraniają VBA i nie jestem pewien, czy istnieje rozwiązanie inne niż VBA. – Marc

+0

@ user2002935 Rozwiązanie czystych formuł Excel jest prawie niemożliwe, i nie sądzę, że warte wysiłku. Spójrz na VBA i podaj swoje pomysły/początkowy kod pomocy dla społeczności. –

Odpowiedz

17

Zrobiłem to. Tutaj możesz pobrać MD5 w czystym Excelu bez VBA.TYLKO Biuro 2013.

https://tzamtzis.gr/2017/web-analytics/excel-function-md5-hashing-without-vba/ https://tzamtzis.gr/tzamtziswp/wp-content/uploads/2017/05/MD5.xlsx

Biuro 2013 pochodzi z przydatnych funkcji dla operacji bitowe jak BITAND(), BITOR(), BITXOR(), BITR[L]SHIFT(). Myślę, że jest to technicznie możliwe: do implementacji MD5 w poprzednich wersjach pakietu Office, ale będzie to kompletne piekło, ponieważ będziesz musiał przekonwertować wartości na binarne, następnie przekonwertować je na łańcuchy, a następnie dokonać zamiany znaków na arytmetyczne dodawanie/odejmowanie itp. itd. Dodaj do tej 15-cyfrowej maksymalnej precyzji liczb (co oznacza, że ​​będziesz miał trudności z przetwarzaniem 16-bitowych wartości binarnych).

Mój skoroszyt może przetwarzać ciągi o długości do 1024 znaków ASCII. Ma to na celu zmniejszenie rozmiaru pliku (który wynosi już 185 kb). Jeśli chcesz przetworzyć dłuższe wiadomości, możesz dodać bloki obliczeniowe na dole tabeli (pojedynczy blok obliczeniowy składa się z 64 wierszy). Ale myślę, że to wystarczająco dużo, aby udowodnić, że MD5 w czystym Excelu nie jest dobrym pomysłem.

+6

Przez serię przebojów wydaje się, że masz działające rozwiązanie, ale dla długowieczności tej strony, i aby nie polegać na zewnętrznym ograniczonym zewnętrznym odnośniku, czy mógłbyś zamieścić odpowiednie wyrażenia jako część swojej odpowiedzi? – billinkc

+0

Dobra, będę nad tym pracował! Dziękuję za zwrotną informację. – Taosique

+0

@ Taaqueque To jest niesamowite! Czy można to zmienić, aby można było skopiować całą kolumnę danych wejściowych i uzyskać całą kolumnę wyników? –

Powiązane problemy