ПредишенСледващото

Били ли сте някога се срещна с внесените отрицателни числа, знака минус, кой е бил прав? SAP - това е една от програмите, които се правят на отрицателни числа, например, 200 вместо -200. Промяна на формата на ръка - това е много скучно работа, но не е задължително да го направите ръчно.

Да предположим, че имате дълъг списък от номера, просто, внесени от друга програма, а някои от тях са така наречените отрицателни числа. Вашата задача - да ги превърне в истински отрицателни числа, които могат да разпознаят Excel. В това упражнение ще използваме гама A1: A100. В клетка В1 тип следната формула:
= SUBSTITUTE (IF (НАДЯСНО (TRIM (А1)) = "-"; НАДЯСНО (TRIM (А1)) А1 А1); "-" "" 2) 0. в руската версия на Excel = SUBSTITUTE (IF (НАДЯСНО (TRIM (А1)) = "-"; НАДЯСНО (TRIM (А1)) А1, A1), "-" "", 2) 0.

Въведете го в няколко клетки в тази колона, количеството на данните от колона А1, и след това да копирате въведената формула и изберете колона А1. Изберете → Специално поставяне стойности (Специално поставяне → стойности), за да изтриете формулата и да оставите само стойности. Фиг. 6.16 е показан списък на приложение изглежда формула (гама А1: А7) и след.

подвежда №73

Фиг. 6.16. Преди и след движението на знак минус

За да се разбере как тази формула, въведете следната формула в някоя клетка. А1 клетка трябва да съдържа стойност на 200-: = НАДЯСНО (TRIM (А1) 1) А1. в руската версия на Excel = десен (TRIM (А1), 1) А1. -200- вие ще получите резултата.

TRIM функция (TRIM) просто гарантира, че клетката няма място знаци. -200- получи стойност, трябва да премахнете втората поява на знак минус. Това прави функция заместител (заместител). Ти си я поръча да замени втората поява на героя - "да" (празен текст). В резултат на това той се връща текстова стойност, така че можете просто да добавите към това 0, и Excel преобразува тази стойност да е число.

Ако трябва да се често извършват тази работа, е необходимо да се напише специален макрос, който опростява. Ето как да го направя. Макро е оптимизиран, за да се осигури максимална скорост на изпълнение.

// Обява 6.2 Под ConvertMirrorNegatives () Dim rCell Както Range Дим rRange Както Range Дим lCount толкова дълго Дим lLoop толкова дълго // Уверете се, че данните се освети; Ако не е, _ // съобщение на дисплея и да излезете от макроса. Ако Selection.Cells.Count = 1 Тогава MsgBox "Изберете периода за реализация", vbInformation Exit Sub End Ако // опрелят стойности на променливите текстови, например за 200- при грешка Възобновяване следващия набор rRange = Selection.SpecialCells (xlCellTypeConstants, xlTextValues) / / Ако променливата не връща нищо, неверни отрицателни числа в нея: // съобщение на дисплея и да излезете от макроса Ако rRange нищо Тогава MsgBox "огледало на отрицателни числа не разполагат", vblnformation на Error GoTo 0 Exit Sub End Ако // Изчисли колко клетки съдържат един вид ценности 200 и преминава chislo_ // променлива за контролиране на количеството на цикъл преминава. lCount = WorksheetFunction.CountIfCSelection. "* -".) // Определете променливата на първата клетка на избрания диапазон Определете rCell = Selection.Cells (1 1) // Изпълнение контура толкова пъти, колкото неправилни отрицателни числа за lLoop = 1 Това iCount // На всеки преминава през линия за задаване на променливата клетка, съдържаща * - // зъбно колело - символ шаблон Определете rCell = rRange.Find (Какво: = "* -" След :. = rCell _ гледаш: = xlValues, LookAt: = xlPart _ SearchOrder: = xlByRows ... SearchDirection: = _ xlNext MatchCase :. = False) // използване стандарт замени на мястото на знака "минус" // празен текст. С други думи, извадете го rCell.Replace Какво: = "-". Замяна: = "" // размножава клетката до -1, да се преобразува в отрицателно число rCell = rCell * -1 Следваща lLoop при грешка GoTo 0 Край Sub

Свързани статии

Подкрепете проекта - споделете линка, благодаря!