Excel – Ignoră spațiile goale în sortarea descrescătoare (Programare, Excel, Sortare, Formula Excel)

Tejas a intrebat.
a intrebat.

În fișierul atașat, atunci când sortez coloana C în ordine descrescătoare, se pun spațiile libere în partea de sus. (nu ar trebui să se întâmple)

Coloana D este doar „Copy as values” din coloana C și sortarea funcționează bine în coloana D

Deci, cred că există o problemă cu formula mea în coloana C

Legătura fișierului: https://drive.google.com/open?id=1TRDympt3-CFn6916aLGxd3du5SL_FaxM

Formula pe care o folosesc: =IF(A3=””,””,””,IF(ISERROR(MATCH(TRIM(S!$A3),$G$4:$G$8,0)),$B3,””)))

Comentarii

  • De ce nu postați formula dvs. în întrebarea dvs. în loc să ne puneți să vă descărcăm fișierul? –  > Por K.Dᴀᴠᴠɪs.
  • @K.Dᴀᴠᴠɪs Mi-am actualizat întrebarea cu formula –  > Por Tejas.
2 răspunsuri
Michael

Dacă ai nevoie să poți sorta în ordine crescătoare sau descrescătoare, atunci nu mă pot gândi la o soluție simplă doar prin formule.

Următoarea soluție cea mai simplă ar putea fi doar aplicarea unui filtru automat pentru a exclude spațiile goale (care de fapt scapă de nullstrings).

Dacă automatizați acest lucru prin VBA, cred că ar fi cel mai simplu să sortați mai întâi în ordine crescătoare, să aplicați un filtru pentru a elimina nullstrings, apoi să sortați în ordine descrescătoare.

De asemenea, ați putea încorpora, eventual, filtrul top 10.

Michael

Acest lucru este cauzat de diferența dintre un null-string și o celulă goală.

Rezultatul formulei dvs. este șirul nul „”, care nu este același lucru cu „nimic” dintr-o celulă goală.

Celulele cu adevărat goale sunt ignorate de Excel la sortare, în timp ce șirul nul este de fapt un șir care conține doar caracterul null-string și este inclus în sortare.

Bănuiesc că motivul pentru care coloana D s-a sortat corect pentru dvs. este că ați copiat doar celulele cu valori normale din coloana C. Dacă copiați întreaga coloană (inclusiv ceea ce par a fi celule goale), atunci problema persistă, deoarece atunci ați copiat și caracterele null-string.

Într-o coloană de valori, ca în cazul coloanei D, puteți elimina caracterele de tip null-strings utilizând instrumentul Text-to-Columns cu opțiunea delimiter și deselectarea tuturor delimitatorilor. (La fel cum puteți converti numerele stocate ca text în numere reale).

Cu toate acestea, în cazul formulelor, ca în coloana C, nu există nicio modalitate de a-i spune lui Excel să returneze cu adevărat „Nimic”.

Ca o soluție, dacă aveți întotdeauna numai valori pozitive, puteți modifica formula pentru a returna valoarea 0 în loc de șirul de caractere nul „”. Ca urmare, valorile 0 vor fi plasate în partea de jos atunci când se sortează descrescător.

De asemenea, puteți ascunde valorile 0 modificând formatarea numerică a coloanei:

  1. Selectați întreaga coloană din tabelul de date
  2. Format Cells…
  3. În fila Number (Număr), selectați „Custom” (Personalizat) în Category (Categorie)
  4. Schimbați manual valoarea Tip din „0.00” în „0.00;-0.00;”

Acest format spune să se afișeze:

  • Numere pozitive cu 2 zecimale
  • Numere negative cu 2 zecimale și semnul negativ în față
  • Zerouri ca spațiu gol

Comentarii

  • Vă mulțumim pentru răspunsul dumneavoastră. Sunt de acord cu dumneavoastră. De fapt, trebuie să folosesc și sortarea ascendentă în acea coloană și să copiez primele 10 prin VBA. Voi face 2 coloane, una care să arate valoarea mare pentru sortare ascendentă și alta care să arate valoarea minus pentru sortare descendentă. Vă rog să mă anunțați dacă aveți o idee mai bună. –  > Por Tejas.