Маска ввода в excel

Маска ввода в excel

4258 просмотра

2 ответа

1284 Репутация автора

ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ ВОПРОС, ПОЖАЛУЙСТА, ЭТО НАМЕРЕНИЯ ОТЛИЧАЮТ VBA. НЕ ЭКСКАЛЬНО

Мне было дано задание зафиксировать ввод даты в форме VBA. В текстовом поле пользователь должен ввести дату как MM/DD/YYYY .

Я должен использовать маску ввода, не разрешено делать что-либо в качестве проверочной даты после или с использованием календаря. До сих пор я был в состоянии использовать 2 упомянутых метода (форсирование формата после использования ISDATE ).

Однако теперь стало ясно, что это должна быть маска, чтобы ключи фильтровались при входе, а маска была видна при вводе даты: __/__/____

Где вы видите подчеркивание, он должен иметь возможность только вводить цифры, и / всегда находятся на этих позициях

Есть ли способ сделать это? Я могу только найти учебник для маски в Access VBA.

Ответы (2)

плюса

13565 Репутация автора

Я погуглил «маску ввода Excel», и 2-й результат был следующим: Использование маски ввода Microsoft Excel, написанной Алленом Уайеттом .

Использование маски ввода

. Вы можете задаться вопросом, есть ли способ установить маску ввода, которая будет автоматически добавлять двоеточие. Хорошие новости — да, есть. Плохих новостей нет, нет. Звук сбивает с толку? Позволь мне объяснить.

Вы можете настроить пользовательский формат, который будет отображать ваше время в любом формате, который вы хотите. Например, вы можете использовать следующие шаги:

  1. Выберите ячейки, которые вы хотите использовать для ввода времени.
  2. Выберите « Формат» в меню «Ячейки». В Excel отобразится диалоговое окно « Формат ячеек ».
  3. Убедитесь, что отображается вкладка « Число ».
  4. В списке категорий выберите Custom .
  5. Замените все, что находится в поле Тип, на #":"00 .
  6. Нажмите на OK .

Теперь вы можете ввести свое время, используя только цифры. Проблема (и это плохие новости) заключается в том, что ячейка не содержит времени. Если вы введете 230 (для 2:30), оно не содержит 2:30 как время — оно содержит двести тридцать. Таким образом, вы не можете использовать содержимое ячейки непосредственно в расчетах времени.

Чтобы преодолеть это, вы можете использовать другой столбец для отображения введенных цифр, преобразованных во время. Все, что вам нужно сделать, это использовать формулу, чтобы сделать преобразования. Например, если введенное вами время было в ячейке A3 , вы можете использовать следующую формулу в другой ячейке, чтобы выполнить преобразование:

Отформатируйте ячейку, содержащую приведенную выше формулу, чтобы она отображала один из различных форматов времени, и все готово.

(Полная статья и многое другое на источнике .)

Свойство Маска ввода можно использовать для упрощения ввода данных, а также для управления значениями, которые пользователи могут вводить в элементе управления "текстовое поле". You can use the InputMask property to make data entry easier and to control the values that users can enter in a text box control. Для чтения и записи, String. Read/write String.

Синтаксис Syntax

Expression. Маска ввода expression.InputMask

Expression (выражение ) Переменная, представляющая объект TextBox . expression A variable that represents a TextBox object.

Примечания Remarks

Маски ввода полезны для операций ввода данных, например маски ввода для поля номера телефона , в котором показано, как ввести новый номер: (___) ___-____ . Input masks are helpful for data-entry operations such as an input mask for a Phone Number field that shows you exactly how to enter a new number: (___) ___-____ . Для задания свойства часто проще использовать мастер масок ввода. It is often easier to use the Input Mask Wizard to set the property for you.

Свойство Маска ввода может содержать до трех разделов, разделенных точкой с запятой (;). The InputMask property can contain up to three sections separated by semicolons (;).

Раздел Section Описание Description
Первый First Указывает маску ввода; Например! (999) 999-9999. Specifies the input mask itself; for example, !(999) 999-9999. Список символов, которые можно использовать для определения маски ввода, приведен в приведенной ниже таблице. For a list of characters that you can use to define the input mask, see the following table.
Секунды Second Указывает, будет ли Microsoft Access сохранять отображаемые символы в таблице при вводе данных. Specifies whether Microsoft Access stores the literal display characters in the table when you enter data. Если вы используете 0 для этого раздела, все отображаемые символы литералов (например, круглые скобки в маске ввода номера телефона) хранятся вместе со значением; Если вы вводите значение 1 или оставляете этот раздел пустым, будут сохранены только символы, вводимые в элемент управления. If you use 0 for this section, all literal display characters (for example, the parentheses in a phone number input mask) are stored with the value; if you enter 1 or leave this section blank, only characters typed into the control are stored.
Стороннего Third Указывает символ, отображаемый в поле для ввода символа в маске ввода. Specifies the character that Access displays for the space where you should type a character in the input mask. В этом разделе можно использовать любой символ; чтобы отобразить пустую строку, используйте пробел, заключенный в кавычки (""). For this section, you can use any character; to display an empty string, use a space enclosed in quotation marks (" ").

В Visual Basic для задания этого свойства используется строковое выражение. In Visual Basic, you use a string expression to set this property. Например, в приведенном ниже поле задается маска ввода для элемента управления текстовым полем, используемого для ввода номера телефона. For example, the following specifies an input mask for a text box control used for entering a phone number.

При создании маски ввода можно использовать специальные символы, чтобы указать, что необходимо ввести определенные данные (например, код города для телефонного номера) и другие данные (например, добавочный номер телефона). When you create an input mask, you can use special characters to require that certain data be entered (for example, the area code for a phone number) and that other data be optional (such as a telephone extension). Эти символы задают тип данных, например число или символ, которые необходимо ввести для каждого символа в маске ввода. These characters specify the type of data, such as a number or character, that you must enter for each character in the input mask.

Маску ввода можно определить с помощью следующих символов. You can define an input mask by using the following characters.

Знак Character Описание Description
Цифра (от 0 до 9, ввод обязателен, плюс [+] и минус [?] знаки не разрешены). Digit (0 to 9, entry required; plus [+] and minus [?] signs not allowed).
9 Цифра или пробел (ввод не обязателен, знаки плюс и минус не разрешены). Digit or space (entry not required; plus and minus signs not allowed).
# Цифра или пробел (ввод не обязателен; пробелы отображаются в режиме правки в виде пробелов, но при сохранении данных удаляются пробелы, а также знаки плюса и минуса). Digit or space (entry not required; spaces are displayed as blanks while in Edit mode, but blanks are removed when data is saved; plus and minus signs allowed).
L Буква (от A до Z, ввод обязателен). Letter (A to Z, entry required).
? Буква (от A до Z, ввод необязательно). Letter (A to Z, entry optional).
A Буква или цифра (ввод обязателен). Letter or digit (entry required).
a Буква или цифра (ввод необязателен). Letter or digit (entry optional).
& Любой символ или пробел (ввод обязателен). Any character or a space (entry required).
C Любой символ или пробел (ввод необязателен). Any character or a space (entry optional).
. , : ; — / Разделитель целой и дробной части, а затем разделители тысяч, даты и времени. Decimal placeholder and thousand, date, and time separators. (Фактический символ зависит от параметров в диалоговом окне Свойства региональных параметров в панели управления Windows). (The actual character used depends on the settings in the Regional Settings Properties dialog box in the Windows Control Panel).
Приводит к преобразованию всех символов в нижний регистр. Causes all characters to be converted to lowercase.
> Приводит к преобразованию всех символов в верхний регистр. Causes all characters to be converted to uppercase.
! Вызывает отображение маски ввода справа налево, а не слева направо. Causes the input mask to display from right to left, rather than from left to right. Символы, вводимые в маску, всегда заполняются слева направо. Characters typed into the mask always fill it from left to right. Вы можете добавить восклицательный знак в любом месте маски ввода. You can include the exclamation point anywhere in the input mask.
Указывает, что символ, который должен отображаться в качестве символа литерала (например, A отображается как просто). Causes the character that follows to be displayed as the literal character (for example, A is displayed as just A).
Читайте также:  Защитный раздел дисковых пространств

Если для свойства Маска ввода задано слово "Password", создается элемент управления вводом пароля. Setting the InputMask property to the word "Password" creates a password-entry control. Любой символ, введенный в элемент управления, сохраняется в виде символа, но отображается звездочкой (*). Any character typed in the control is stored as the character but is displayed as an asterisk (*). Используйте маску ввода пароля, чтобы запретить отображение вводимых символов на экране. You use the Password input mask to prevent displaying the typed characters on the screen.

При вводе данных в поле, для которого определена маска ввода, данные всегда будут вводиться в режиме переввода. When you type data in a field for which you’ve defined an input mask, the data is always entered in Overtype mode. Если для удаления знака используется клавиша BACKSPACE, символ заменяется на пустое место. If you use the Backspace key to delete a character, the character is replaced by a blank space.

При перемещении текста из поля, для которого вы определили маску ввода в буфере обмена, копируются символы отображения литералов, даже если вы указали, что они не были сохранены вместе с данными. If you move text from a field for which you’ve defined an input mask onto the Clipboard, the literal display characters are copied, even if you have specified that they not be saved with data.

Маска ввода влияет только на символы, вводимые непосредственно в элемент управления или поле со списком. Only characters that you type directly in a control or combo box are affected by the input mask. Access игнорирует все маски ввода при импорте данных, выполнении запроса на изменение или вводе символов в элементе управления путем установки свойства Text элемента управления в Visual Basic или с помощью действия SetValue в макросе. Access ignores any input masks when you import data, run an action query, or enter characters in a control by setting the control’s Text property in Visual Basic or by using the SetValue action in a macro.

Когда вы определили маску ввода и задаете свойство Format для того же поля, свойство Format имеет приоритет при отображении данных. When you’ve defined an input mask and set the Format property for the same field, the Format property takes precedence when the data is displayed. Это означает, что даже если вы сохранили маску ввода, маска ввода игнорируется при форматировании и отображении данных. This means that even if you’ve saved an input mask, the input mask is ignored when data is formatted and displayed. Данные в базовой таблице не изменяются; Свойство Format влияет только на отображение данных. The data in the underlying table itself isn’t changed; the Format property affects only how the data is displayed.

В следующей таблице приведены некоторые удобные маски ввода и типы значений, которые можно вводить в них. The following table shows some useful input masks and the type of values that you can enter in them.

Маска ввода Input mask Примеры значений Sample values
(000) 000-0000 (000) 000-0000 (206) 555-0248 (206) 555-0248
(999) 999-9999 (999) 999-9999 (206) 555-0248, () 555-0248 (206) 555-0248, ( ) 555-0248
(000) AAA-AAAA (000) AAA-AAAA (206) 555-ТЕЛЕ (206) 555-TELE
#999 #999 ? 20, 2000 ?20, 2000
_Гт_л. L? 000L0 >L. L?000L0 GREENGR339M3, МАЙ R 452B7 GREENGR339M3, MAY R 452B7
>L0L 0L0 >L0L 0L0 T2F 8M4 T2F 8M4
00000-9999 00000-9999 98115 — 98115-3007 98115-, 98115-3007
Гт_л_лт. >L Мария, Брендан Maria, Brendan
SSN 000-00-0000 SSN 000-00-0000 SSN 555-55-5555 SSN 555-55-5555
>LL00000 — 0000 >LL00000-0000 DB51392 — 0493 DB51392-0493

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

В почту нашей редакции периодически поступают вопросы по работе с текстом в программе Excel. Чтобы не перефразировать проблему своими словами, просто приведу цитату из одного такого письма: «Уважаемые сотрудники «Б & K»! В большинстве офисных приложений есть удобная функция для проверки текста на соответствие шаблону. При работе с документом в программе Word такая функция позволяет найти слова, которые содержат определенную комбинацию символов. В программе Excel при обработке баз данных инструментом «Автофильтр» использование шаблонов позволяет отобрать записи по признаку «Содержит». Но все эти функции вызываются через меню. А хотелось бы иметь возможность анализировать текст по шаблону при помощи формул. К сожалению, среди встроенных функций работы с текстом в MS Excel я подходящего варианта не нашел. Подскажите, как можно решить эту проблему?». Что ж, как говорится, задача поставлена, остается самая малость — найти ее решение. Чем мы сейчас и займемся.

Работа с шаблонами (или так называемыми масками) — одна из самых полезных функций, когда речь идет о работе с большими базами данных, а критерий поиска информации точно не известен. На практике такая ситуация встречается сплошь и рядом. Элементарный пример. У меня есть реестр выданных (или полученных) налоговых накладных. Реестр большой, несколько тысяч записей. И задача состоит в том, чтобы найти в этом реестре все документы по определенной фирме. Точное название фирмы (как она фигурирует в реестре) я не помню: может это « ООО "Фора" » или « ТОВ "Фора" », как-то так. Но тот факт, что в названии есть слово « Фора », я знаю наверняка. А это означает, что для поиска информации о фирме « Фора » мне нужно использовать не точное название предприятия, а некоторый шаблон. В данном случае он может выглядеть так: « *Фора* ». В этом шаблоне на месте символа « * » может стоять любая строка произвольной длины. А сам шаблон описывает названия фирм, где вначале идет любой текст, затем есть слово « Фора », а за ним — снова произвольный текст. Под такой шаблон попадают, например, такие названия: « ТОВ "Фора" », « ООО "Фора" », « Фирма "Фора" », « "Фора", ltd » и т. д. Иными словами, шаблон « *Фора* » задает не точное, а приблизительное название предприятия для поиска его в реестре. А это именно то, что нам нужно. Остается реализовать такой поиск на практике.

Читайте также:  Как сохранить личный кабинет на рабочий стол

Здесь ситуация такова. В программе Excel (а речь идет именно о ней!) есть разные способы решения этой задачи. Например, поиск и выбор данных можно организовать при помощи автофильтра. В этом случае шаблон для поиска нужно ввести в настройках фильтра, и такая возможность в программе Excel предусмотрена. Другое дело, когда нужно не просто выбрать данные, а еще и обработать их. Для примера, обратимся к базе данных, фрагмент которой показан на рис. 1. Предположим, мы хотим написать формулу, которая просуммирует все значения из колонки « Сумма с НДС » для контрагента « ТОВ "Фора" ». Нам известно, что название этого контрагента в базе может отличаться (например, в названии может быть лишний пробел). Но слово « Фора » в нем есть всегда, и оно является ключевым для организации поиска.

В принципе справиться с задачей мы могли бы при помощи сводных таблиц. Но проблема заключается в том, что в них нельзя использовать шаблоны для анализа текстовых строк. Второй вариант — воспользоваться формулами. Но и здесь проблема остается, так как из 24 встроенных текстовых функций MS Excel ни одна не работает с шаблонами. Причем эта ситуация характерна для всех версий программы — начиная от Excel 95 и вплоть до последней редакции Excel 2010.

Поэтому для решения задачи нам понадобится функция, которая умеет сравнивать текстовые строки по заданному шаблону. И тогда, при наличии такой функции, применить любой инструмент обработки данных уже не составит труда.

Создать функцию для сравнения строк совсем несложно, если воспользоваться возможностями языка Visual Basic for Application (VBA) программы MS Excel. Все, что нам придется сделать, — это открыть редактор Visual Basic и написать в нем буквально десяток строк. А в результате мы сможем существенно расширить свои возможности по обработке данных и заодно закрыть довольно-таки большой пробел в работе с текстом, который есть в стандартных средствах MS Excel.

Создаем функцию проверки текста по шаблону

Итак, мы решили, что для создания функции сравнения строк нам нужно написать небольшую программу на языке Visual Basic, который входит в состав MS Excel. Разумеется, программирование на VBA не является профильной задачей бухгалтера. Поэтому мы не будем углубляться в тонкости работы программы. Нам достаточно в общих чертах знать, как она выглядит и как вставить ее в документ MS Excel. Кроме того, полный текст функции мы выложим на сайте редакции, где вы сможете скачать его без каких-либо ограничений. Приступим.

Если вы работаете с Excel 2010, то первое, что нужно сделать для работы с VBA, — это включить вкладку « Разработчик » (по умолчанию эта возможность отключена). Для этого делаем так.

1. Открываем программу Excel. Загружаем файл с базой данных, как на рис. 1. В нашем примере она называется « РеестрНН.xls ».

2. Вызываем меню « Файл → Параметры » и выбираем раздел « Настройка ленты ». Откроется окно, изображенное на рис. 2.

3. В группе параметров « Настройка ленты: » включаем флажок слева от строки « Разработчик » (рис. 2).

4. В окне настроек нажимаем « ОК ». В составе основного меню Excel 2010 появится пункт « Разработчик » (рис. 3).

5. Щелкаем левой кнопкой на разделе « Разработчик » главного меню. Лента примет вид, как на рис. 3.

6. В группе « Код » щелкаем на иконке « Visual Basic » (рис. 3). Откроется окно, изображенное на рис. 4. Это и есть редактор Visual Basic.

В левой части окна показана структура проекта для текущей рабочей книги. В этот проект нам и нужно добавить текст своей функции.

Важно! В Excel 2003 для вызова Visual Basic войдите в меню « Сервис → Макрос → Редактор Visual Basic ». На экране появится окно, изображенное на рис. 4.

Теперь наша задача — вставить в документ « РеестрНН. xls » текст функции для сравнения строк. Делаем так.

1. Заходим на сайт по адресу http://www.bk.factor.ua/ru/publications/14/8/1106.html , скачиваем файл с текстом программы.

2. Сохраняем результат на жесткий диск.

3. Открываем скачанный файл в любом текстовом редакторе. Можно воспользоваться программой «Блокнот» или процессором MS Word. Перед вами должен появиться такой текст:

′ Функция для сравнения текстовых строк по маске

Function MskCmp(Tekct As String, Maska As String, Reg As Boolean)

If Not Reg Then

If Tekct Like Maska Then

4. Нажимаем « Ctrl+A » (выделить все).

5. Комбинацией « Ctrl+C » копируем текст в буфер обмена.

6. Переходим в окно Visual Basic (рис. 4).

7. Вызываем меню « Insert → Module ». Откроется окно для добавления текста программы.

8. Нажимаем « Ctrl+V » (вставляем текст из буфера обмена).

9. Нажимаем кнопку « Сохранить » и закрываем редактор Visual Basic. Функция добавлена.

Прежде чем идти дальше посмотрим, что мы получили на самом деле. В результате работы с Visual Basic у нас появится дополнительная функция с именем « MskCmp() ». У нее три параметра: текст (или ячейка с текстом), который мы будем проверять на соответствие шаблону, второй параметр — это сам шаблон. И, наконец, последний, третий параметр — это признак контроля регистра символов « Reg ». Если этот параметр равен « 0 », то регистр функция контролировать не будет. Если параметр равен « 1 », то поиск будет выполняться с учетом регистра. То есть синтаксис нашей функции выглядит так: « = MaskCompare(Tekct; Maska; Reg) , где « Tekct » — анализируемый текст, « Maska » — шаблон, « Reg » — признак контроля регистра символов. Главным и единственным критерием для поиска данных у функции « MskCmp() » является шаблон « Maska ». Он может состоять из любых символов и специальных знаков (или так называемых символов подстановки). К таким символам относятся:

« * » — означает, что на месте этого знака может находиться произвольное количество любых символов;

« ? » — на месте этого знака может стоять один символ;

« # » — на месте этого символа может находиться любая цифра (от « 0 » до « 9 »);

« [Список_символов] » — такая запись в шаблоне заменяет любой символ из указанного списка;

Читайте также:  Как найти накопленную частоту

« [!Список_символов] » — означает, что в строке могут находиться любые символы, кроме перечисленных в списке.

Вот примеры нескольких шаблонов, которые можно использовать в функции « MskCmp() »:

« ### » — числа от 0 до 999;

« . » — слова из 5 букв;

« м*н » — слова, которые начинаются на « м » и заканчиваются на « н »;

« *[аостр]* » — все слова, содержащие хотя бы одну из букв « а », « о », « с », « т », « р »;

« *[ abcdefghijklmnopqrstuvwxyz]* » — все слова, в которых есть английские буквы.

Применяем функцию MskCmp() для обработки базы данных

Функция для проверки текста у нас есть. Можно использовать ее для решения нашей задачи. Напомню, что мы хотим в базе данных на рис. 1 посчитать итоговые значения для контрагентов, в названии которых есть слово « Фора ». Делаем так.

1. Открываем документ с базой « РеестрНН. xls » (рис. 1).

2. Перед началом базы данных добавляем рабочую строку. Она будет первой на рабочем листе.

3. Заполняем ячейки рабочей строки, а именно: в « B1 » вводим текст « Фирма: ». В ячейку « C1 » вводим название контрагента, для которого нужно посчитать итоговые значения в базе данных. В нашем примере — это фирма « Фора ».

4. Становимся на ячейку « J2 », вводим название заголовка « Пр ». В этой колонке мы напишем признак суммирования.

5. Становимся на ячейку « J4 », щелкаем на значке « fx ». Откроется окно « Мастер функций », изображенное на рис. 5.

6. В этом окне щелкаем на списке « Категория: », выбираем значение « Определенные пользователем ». В списке « Выберите функцию: » появится список доступных функций пользователя для текущего документа.

7. В этом списке выбираем вариант « MskCmp » и нажимаем « ОК ». Откроется окно « Аргументы функции », изображенное на рис. 6.

8. В нем заполняем параметры, как показано на рисунке. Здесь адрес « E4 » — это ссылка на ячейку с наименованием предприятия. Формула « "*"&$ C$1&"*" » формирует маску для поиска, используя название контрагента из ячейки « C1 ». Сейчас в « C1 » записано значение « Фора ». Поэтому формула « "*"&$ C$1&"*" » сформирует маску « *Фора* », которая выберет все предприятия, в названии которых встречается текст « Фора ». Регистр при поиске мы не проверяем, поэтому параметр « Reg » вводим равным « 0 ».

9. В окне « Аргументы функции » нажимаем « ОК ». В ячейке « J4 » появится формула « = MskCmp(E4;"*"&$C$1&"*";0) », а ее значение в ячейке « J4 » будет « Истина ». Все верно: в « E4 » записано название « ТОВ "Фора" » и функция « MskCmp() » это правильно определила.

10. Копируем формулу вниз по колонке « J » на всю высоту базы данных.

Все, что нам остается, — добавить формулы суммирования с учетом значений в колонке « J ». Сделать это можно при помощи функции « Сумм если() ». Делаем так.

1. Становимся на ячейку « G1 ».

2. Вводим формулу выборочного суммирования: « =Суммесли($ J4:$J10000;ИСТИНА;G4:G10000) ». Эта формула просматривает значения блока « $ J4:$J1000 » (считаем, что в базе будет не более 1000 записей). Если в какой-то ячейке блока она находит значение « Истина », формула берет содержимое из соответствующей ячейки блока « G4:G10000 » и добавляет его к общей сумме. В результате эта формула посчитает сумму значений из колонки « G », которые отмечены в столбце « J » как « Истина ». Для примера на рис. 7 мы таким образом получим итоги по контрагенту « Фора ».

3. Копируем содержимое « G1 » в буфер обмена и вставляем содержимое из буфера в ячейки « H1 » и « I1 ». Результат нашей работы показан на рис. 7.

Что мы получили на самом деле? В ячейке « C1 » нашей таблицы записано приблизительное название контрагента. Мы использовали это название для формирования маски. В колонке « Пр » записана функция « MskCmp() », которая сверяет названия предприятий из колонки « E » с маской для поиска. Если текст из « C1 » содержится в названии предприятия, в соответствующей ячейке колонки « Пр » появится значение « ИСТИНА ». В противном случае там будет « ЛОЖЬ ». Теперь, имея такой признак, получить итоги уже не составит труда.

Функцию « MskCmp() » можно с успехом использовать для анализа и проверки правильности данных. Такая задача очень актуальна при работе с большими таблицами, к которым планируется применить инструменты обработки данных и подведения итогов. Вот всего пара ситуаций, которые часто встречаются в практической работе.

Пример 1. В реестре, изображенном на рис. 7, нужно проверить правильность наименований в колонке « E ». Мы хотим убедиться, что все названия предприятий набраны русскими буквами. Дело в том, что визуально текст « ТОВ "Фора" » и « ТОВ "Ф opа" » выглядит одинаково. Но во втором случае буквы « o » и « p » введены в латинице. И, разумеется, при подведении итогов, при сортировке или другой обработке данных эти отличия компьютер «увидит». И при обработке базы будет получен неверный результат. Решить проблему можно так.

1. Находим свободный столбец. Пусть это будет колонка « К ». Озаглавим ее как « Контроль ».

2. В ячейку « K2 » вводим формулу « = MaskCompare(E4;"*[A-z]*";0) » и копируем ее на всю высоту таблицы. Теперь все как на ладони. Все строки, помеченные в колонке « K » значением « Истина », содержат в названии предприятия латинские символы.

Пример 2. В базе данных на рис. 2 нужно проверить, чтобы все коды ИНН содержали только числа. Сделать такую проверку для содержимого ячейки « F4 » поможет формула « = MaskCompare(F4;"*[0123456789]";0) ». Далее копируем ее на всю высоту таблицы — и задача решена. Все строки, которые будут отмечены значением « ЛОЖЬ », содержат ошибку в коде ИНН.

Пример 3. Лишние пробелы в названиях и других ключевых полях базы данных всегда являются источником ошибок. Чтобы проверить наличие двух пробелов в колонке « Наименование » реестра налоговых накладных, можно воспользоваться формулой « = MaskCompare(E4;"* *";0) ». В этой формуле маска « "* *" » — это символ « * », затем идут два пробела, а после них опять символ « * ». Заполняем этой формулой рабочую колонку и смотрим на результат. Строки, где в рабочей колонке появятся значения « Истина », содержат в названии предприятия лишний пробел.

Как видите, использование масок и шаблонов со специальными символами открывает широчайшие возможности по обработке данных в программе Excel. Все зависит от фантазии и творческого подхода к решению проблемы.

А у меня на сегодня все. Успешной работы! Жду ваших писем, предложений и замечаний на bk@id.factor.ua , nictomkar@rambler.ru или на форуме редакции.

Наш сайт корисний для вас?

Підписатися на найактуальнішу розсилку для бухгалтера бюджетної установи

Ссылка на основную публикацию
Лучший просмотрщик фото для mac
Для просмотра изображений в Mac OS предусмотрено простое приложение «Фото», которое имеет ряд недостатков. В частности, в программе отсутствует возможность...
Лееко ле 2 х527 как очистить кэш
Это официальная инструкция для LeEco (LeTV) Le 2 32Gb на русском языке, которая подходит под Android 6.0. В случае, если...
Локальная сеть на основе сервера оборудование
Аппаратура локальных сетей обеспечивает взаимодействие по сети между абонентами. Выбор аппаратуры имеет важнейшее значение на этапе проектирования сети, так как...
Мазда сх 5 отключить подушку безопасности
Обстоятельства, при которых система SRS может не сработать При тяжелых авариях, например, таких, которые описаны выше в разделе «Критерии срабатывания...
Adblock detector