Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako automaticky skrátite desatinné miesta vo veľkom súbore programu Excel?

Neexistuje jediný príkaz, ktorý by automaticky skrátil (nie okrúhle) desatinné miesta v celom veľkom súbore Excel. Vstavaná funkcia programu Excel je najvhodnejšia pre jednotlivé bunky alebo vybrané rozsahy. Pre skutočne veľký súbor je VBA (Visual Basic for Applications) najúčinnejším riešením.

Tu je niekoľko prístupov, ktoré postupujú od najjednoduchších po najsilnejšie:

1. Formát bunky (pre menšie súbory alebo špecifické stĺpce):

* Vyberte bunky: Zvýraznite stĺpec alebo rozsah obsahujúci čísla, ktoré chcete skrátiť.

* Formátové bunky: Kliknite pravým tlačidlom myši a vyberte „Format Cells ...“.

* Tab: Vyberte „číslo“ alebo formát vlastného čísla. Na „desatinných miestach“ zadajte `0`, aby ste odstránili všetky desatinné miesta. To * nemení základnú hodnotu, iba displej.

Toto je najjednoduchšia metóda, ale neefektívna pre veľké súbory a v skutočnosti nezmení základnú hodnotu. Počet si stále zachováva svoje desatinné miesta vo výpočtoch.

2. Použitie funkcie `Trunc` (pre menšie súbory alebo konkrétne stĺpce):

* Vložte nový stĺpec: Vedľa svojho existujúceho stĺpca pridajte nový stĺpec.

* Použite funkciu `TRUNCU: V prvej bunke nového stĺpca zadajte vzorec ako `=trunc (A1,0)` (za predpokladu, že vaše údaje sú v stĺpci A). To skráti číslo v A1 na nulové desatinné miesta.

* Kopírujte: Potiahnite rukoväť výplne (malý štvorec v pravom dolnom rohu bunky), aby ste použili vzorec na všetky riadky.

Znova to priamo nemení pôvodné údaje; Vytvára skrátenú kópiu. Táto metóda je lepšia ako formátovanie veľkých súborov, pretože zachováva pôvodné údaje, ale stále je relatívne pomalý pre veľmi veľké súbory.

3. Makro VBA (pre veľké súbory, najúčinnejšie):

Tento kód VBA iteruje všetky bunky v špecifikovanom liste a priamo skráti desatinné miesta, čím modifikuje základné hodnoty buniek:

`` `VBA

Sub -skrátene ()

Dim WS ako pracovný hárok

Dim lastrow tak dlhý, posledný

Stmaviť i tak dlho, j tak dlho

'Zadajte pracovný hárok na spracovanie

Set ws =thorkbook.Sheets ("Sheet1") 'Zmeniť "hárok" na názov svojho hárku

„Nájdite posledný riadok a stĺpec obsahujúce údaje

lastrow =ws.cells.Find ("*", Searchorder:=xlbyRows, SearchDirection:=xlprevious) .Row

LastCol =ws.Cells.Find ("*", Searchorder:=xlByColumns, SearchDirection:=xlPrevious) .column

„Slučka cez všetky bunky a skrátená desatinné miesta

Pre i =1 na lastrow

Pre j =1 do posledného

Ak je IsNumeric (Ws.Cells (i, j) .Value)

ws.cells (i, j) .Value =worksheetFunction.trunc (ws.cells (i, j) .Value, 0)

Skončiť

Ďalej J

Ďalej i

MSGbox „Decimals úspešne skrátil!“

Koncový

`` `

Ako používať makro VBA:

1. Otvorte súbor Excel.

2. Stlačením ALT + F11 otvoríte editor VBA.

3. Prejdite na vloženie> modul.

4. Vložte kód do modulu.

5. Zmeňte `" hárok1 "` na skutočný názov vášho hárku.

6. Spustite makro stlačením F5 alebo kliknutím na tlačidlo „Spustiť“.

Táto metóda VBA je najúčinnejšia pre veľmi veľké súbory Excel, pretože priamo modifikuje hodnoty buniek bez režijného prepočúvania vzorca. Pred spustením akéhokoľvek makra VBA vždy zálohujte svoj súbor. Najskôr zvážte testovanie na menšej vzorke vašich údajov.

Nezabudnite zvoliť metódu, ktorá najlepšie vyhovuje veľkosti vášho súboru a úrovne pohodlia pomocou VBA. Pre skutočne masívne súbory údajov zvážte použitie výkonnejšieho nástroja na manipuláciu s údajmi, ako je Python s knižnicami ako pandy, ktoré sú určené na efektívne spracovanie veľkých súborov údajov.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené