trükk №73

Találkoztál már importált negatív számok, a mínusz jel kinek volt igaza? SAP - ez az egyik a programok csinál negatív számok, például 200 helyett -200. A formátum módosítása kéz - ez egy nagyon unalmas feladat, de nem feltétlenül kell csinálni kézzel.

Tegyük fel, hogy van egy hosszú listát a számok, csak importált egy másik programot, és néhány közülük úgynevezett negatív számokat. Az Ön feladata -, hogy átalakítsa azokat a valós negatív számok, amely képes felismerni az Excel. Ebben a feladatban fogjuk használni az A1: A100. A B1 cellában írja be a következő képletet:
= SUBSTITUTE (HA (JOBB (TRIM (A1)) = "-"; JOBB (TRIM (A1)) A1; A1); "-"; "" 2) +0. az orosz változata Excel = SUBSTITUTE (HA (JOBB (TRIM (A1)) = "-"; JOBB (TRIM (A1)) A1, A1), "-", "", 2) 0.

Írja be a sejtek száma ebben az oszlopban, az adatok mennyisége az oszlop A1, majd másolja a megadott képlet, és válassza ki az oszlopot A1. Válassza → Irányított beillesztés értékek (Paste Special → értékek), hogy törölje a képlet, és hagyja csak a következő értékeket. Ábra. 6.16 látható, mint egy listát alkalmazás megjelent képletű (A1: A7) és az azt követő.

trükk №73

Ábra. 6.16. Előtte és utána a mozgás a mínusz jel

Ahhoz, hogy megértsük, hogyan ez a képlet adja meg a következő képlet egy cellában. A1 cellában kell tartalmaznia értéke 200-: = JOBB (TRIM (A1); 1) A1. Az orosz változat Excel = JOBB (TRIM (A1), 1) A1. -200- kap az eredményt.

TRIM funkció (TRIM) egyszerűen biztosítja, hogy a sejt nem szóköz karakterek. -200- kapott értéket, el kell távolítani a második esemény a mínusz jel. Ez teszi a funkció SUBSTITUTE (helyettesítő). Azt parancsolta neki, hogy cserélje ki a második előfordulását a karakter - a „” (üres szöveg). Ennek eredményeként, visszatér a szöveges érték, tehát egyszerűen add tovább 0 és Excel átalakítja ezt az értéket egy számot.

Ha gyakran kell végezni ezt a munkát, meg kell írni egy speciális makro, ami egyszerűsíti azt. Itt van, hogyan kell csinálni. Macro lett optimalizálva a maximális végrehajtási sebesség.

// Listing 6.2 Sub ConvertMirrorNegatives () Dim rCell néven tartomány Dim rRange néven tartomány Dim lCount As Long Dim lLoop As Long // Győződjön meg arról, hogy az adatok kiemelve; Ha nem, _ // kijelző és kilép a makrót. Ha Selection.Cells.Count = 1 Then MsgBox "Válassza ki a tartományt átalakítás", vbInformation Exit Sub End If // állapítanak meg változtatható szöveges értékek, például 200- On Error Resume Next Set rRange = Selection.SpecialCells (xlCellTypeConstants, xlTextValues) / / Ha a változó visszatér Semmi helytelen negatív számok vannak: // kijelző és kilép a makro Ha rRange semmi Then MsgBox „Mirror a negatív számok nem”, vblnformation On Error GoTo 0 Exit Sub End If // számolja, hogy hány sejt tartalmaz egyfajta értékek 200 és adja át chislo_ // változó mennyiségének szabályozására a ciklus halad. lCount = WorksheetFunction.CountIfCSelection. „* -”.) // Állítsa a változót az első cella a kijelölt tartomány beállítása rCell = Selection.Cells (1 1) // Execute a hurok, ahányszor téves negatív számok lLoop = 1 Ez iCount // Minden áthalad a hurok beállítani a változó tartalmazó sejt * - // lánckerék - jelképe sablont rCell = rRange.Find (Mi: = "* -" Miután :. = rCell _ keresed: = xlValues, LookAt: = xlPart _ SearchOrder: = xlByRows ... SearchDirection: = _ xlNext MatchCase :. = False) // használat szokásos helyére helyett a jel "mínusz" // üres szöveget. Más szóval, távolítsa el azt rCell.Replace Mit: = „-”. Csere: = "" // Szorozzuk meg a cella -1, átalakulhat egy negatív szám rCell = rCell * -1 Következő lLoop On Error GoTo 0 End Sub

Kapcsolódó cikkek