Как определить тип данных в ячейке excel
“Формат ячеек” и “тип данных” – определения, которые довольно часто путают пользователи Эксель. Несмотря на то, что эти понятия взаимосвязаны, они, все же, разные. В этой статье мы разберемся, что означает “тип данных”, и какие разновидности существуют.
Определение
Тип данных – это определенная характеристика содержимого в таблице Excel, благодаря которой программа идентифицирует информацию и понимает, каким образом ее следует обрабатывать и отображать.
Разновидности типов данных
Выделяются две большие группы типов данных:
- константы – неизменные значения;
- формулы – значения, которые меняются в зависимости от изменения других.
В группу “константы” входят следующие типы данных:
- числа;
- текст;
- дата и время;
- логические данные;
- ошибки.
Давайте подробнее разберем все перечисленные выше типы данных.
Число
Этот тип данных применяется в различных расчетах. Как следует из названия, здесь предполагается работа с числами, и для которых может быть задан один из следующих форматов ячеек:
- числовой;
- денежный;
- финансовый;
- процентный;
- дробный;
- экспоненциальный.
Формат ячейки можно задать двумя способами:
Для каждого из форматов, перечисленных выше (за исключением дробного), можно задать количество знаков после запятой, а для числового – к тому же, включить разделитель групп разрядов.
Чтобы ввести значение в ячейку, достаточно просто выделить ее (с нужным форматом) и набрать с помощью клавиш на клавиатуре нужные символы (либо вставить ранее скопированные данные из буфера обмена). Или можно выделить ячейку, после чего ввести нужные символы в строке формул.
Также можно поступить наоборот – сначала ввести значение в нужной ячейке, а формат поменять после.
Текст
Данный тип данных не предназначен для выполнения расчетов и носит исключительно информационный характер. В качестве текстового значения могут использоваться любые знаки, цифры и т.д.
Ввод текстовой информации происходит таким же образом, как и числовой. Если текст не помещается в рамках выбранной ячейки, он будет перекрывать соседние (если они пустые).
Дата и время
В данном случае тип данных и формат ячеек полностью совпадают. С помощью этих значений можно, соответственно, производить вычисления и работать с датами и временем. Стоит отметить, что программа видит сутки как число 1.
Например, время 08:30 будет восприниматься как число 0,35 (проверить это можно, переведя формат ячеек в “числовой”), в то время, как в ячейке и строке формул оно будет отображаться в привычном для нас виде.
Для формата ячеек “Время” можно выбрать следующие основные типы отображения:
Для формата ячеек “Дата” также предусмотрены различные варианты отображения данных:
Также, у пользователя есть возможность выбрать вариант с одновременным отображением даты и времени.
Примечание: Эксель в виде дат может отображать данные только с 01.01.1990. Причем, в то время, как мы видим дату в привычном для нас виде, сама программа хранит ее в своей памяти и обрабатывает в виде числа. Например, дате 01.01.2019 соответствует число 43466. Это легко проверить, сменив формат ячейки с “даты” на “числовой”.
Ошибки
В некоторых случаях пользователь может видеть в Excel ошибки, которые бывают следующих видов:
Логические данные
Логические значения “ИСТИНА” и “ЛОЖЬ” используются для того, чтобы при обработке содержимого ячеек вывести определенные результаты или выполнить какие-то действия в зависимости от того, выполнено ли заданное условие (ИСТИНА) или нет (ЛОЖЬ).
Формулы
Этот тип данных принципиально отличается от рассмотренных выше, так как значение результата меняется в зависимости от изменения других значений, на которые оно ссылается. Благодаря формулам выполняются различные расчеты: математические, финансовые и т.д.
Формула будет отображаться в соответствующе строке формул, а результат по ней – в содержащей ее ячейке.
Чтобы Excel “видел” выражение как формулу, обязательно нужно в самом начале поставить знак “равно”.
В формулах используются как конкретные числа, так и ссылки – относительные и абсолютные.
Многие формулы реализованы в виде функций – стандартный набор аргументов и алгоритм их обработки для выдачи финального результата.
Формулу функции можно сразу вводить в нужную ячейку после знака “равно”, если вы знаете, как правильно все оформить. Либо можно воспользоваться предусмотренным для этого Мастером функций, в котором можно найти все внедренные в программу операторы. Для удобства они разделены на категории.
Чтобы попасть в окно Мастера функций, сначала выбираем нужную ячейку, затем щелкаем по кнопке “Вставка функции” рядом со строкой формул. Затем находим нужный оператор и жмем кнопку OK.
Далее корректно заполняем аргументы функции и нажимаем кнопку OK для получения результата в выбранной ячейке.
Заключение
Таким образом, в Эксель выделяются 2 основные группы типов данных: константы и формулы. Причем первая включает в себя подтипы, каждый из которых имеет свое назначение. Умение правильно определять, настраивать и работать со всеми доступными типа данными, в том числе, комбинировать их, позволят максимально эффективно и корректно выполнять поставленные задачи.
Функция T в Excel выполняет проверку типа принимаемых данных и возвращает текстовую строку, если в ячейке, ссылка на которую была передана в качестве параметра, содержатся текстовые данные либо текст был передан в функцию явно (например, Т(«любое текстовое значение»)).
Примеры использования функции Т в Excel
Пример 1. В Excel реализована возможность импорта данных из внешних источников. С использованием этой возможности были импортированы некоторые данные, содержащиеся в xml-документе. Необходимо создать новую таблицу, в которой будут отображены только текстовые данные для совместимости с другими программными продуктами, не поддерживающими форматы Число или Дата в Excel.
Для решения используем следующую формулу:
Данная запись имеет следующий смысл:
- Функция ЕСЛИ выполняет проверку значения, которое вернет функция Т;
- Если ячейка G2 не содержит текстовые данные, будет возвращено пустое значение «» и сработает функция ТЕКСТ, которая преобразует числовой тип данных в текстовый и запишет полученное значение в ячейку B2;
- Если в ячейке G2 содержатся текстовые данные, они будут перенесены в ячейку B2 без изменений.
Аналогично заполним все остальные ячейки столбца B. В результате получим следующую таблицу:
Чтобы убедиться, что данная таблица содержит только текстовые данные, снова воспользуемся функцией Т:
То есть, преобразование в текстовые данные прошло успешно.
Как определить формат ячейки в Excel?
Пример 2. В таблице Excel находится защищенный лист с таблицей, в которой содержатся данные об адресе клиента. Предположительно, номер дома и номер квартиры являются числовыми данными, полученными в результате перебора строки с использованием функций ПРАВСИМВ, ЛЕВСИМВ, НАЙТИ и ЗНАЧЕН. Последняя преобразует данные в формат Число (если это возможно). Определить формат данных поможет функция Т, а преобразовать в текстовый формат – ТЕКСТ.
Таблица на защищенном листе (формулы не видны, так как стоит защита):
Данные в виде текста необходимо ввести в следующую таблицу:
В ячейке B2 введем следующую формулу:
Описание функций формулы:
Аналогично заполним данными ячейку B3. В результате получим таблицу с только текстовыми значениями:
Как определить тип данных в Excel?
Пример 3. В Excel можно определить тип данных, содержащихся в определенной ячейке, используя функцию ТИП, которая возвращает числовое значение, соответствующее одному из поддерживаемых типов (например, 1 – Число, 2 – Текст, 4 – Логическое значение и т. д.). Определим типы данных в некоторой таблице, и если они не являются текстовыми, преобразуем их с помощью функции ТЕКСТ.
Введем в ячейке C3 следующую формулу:
- ТИП(B3)<>2 – условие проверки, 2 – тип текстовых данных;
- ТЕКСТ(B3;"") – функция, возвращающая текстовое значение из ячейки B3, если результат проверки условия – ИСТИНА;
- B3 – неизмененное значение ячейки, если результат условия проверки – ЛОЖЬ.
Аналогично заполним последующие ячейки столбца C. В результате получим:
Чтобы убедиться, что каждая ячейка содержит текст, используем функцию Т:
Функция Т в Excel и особенности ее синтаксической записи
Функция Т имеет следующий синтаксис:
Единственный параметр значение является обязательным для заполнения. Он используется для передачи проверяемых данных.
Примечание 1: Как правило, необходимость в использовании функции Т не возникает, поскольку в Excel все преобразования данных выполняются в автоматическом режиме. Данная функция была добавлена с целью обеспечения совместимости с прочими программными продуктами, поддерживающими работу с таблицами.
Для преобразования в тип данных Excel ищет совпадение между значениями ячеек и поставщиком базы данных. Если совпадение найдено, в ячейке будет отображаться значок типа данных, указывающий на то, что преобразование выполнено успешно. Если вместо него вы видите и открывается мастер выбора данных, Excel требуется ваша помощь в выборе правильного типа данных или в поиске совпадения.
Совет: В Excel в Интернете можно выбрать вкладку "Тип данных" или "Справка" в правой части экрана для перехода между панелями.
Попробуйте!
Если вы пытаетесь выполнить преобразование в тип данных и в ячейке появляется вопросительный знак вместо значка типа данных, результат нужно уточнить или сопоставить в мастере выбора данных. Если мастер выбора данных не открывается автоматически, вы можете открыть его, щелкнув вопросительный знак в ячейке.
В мастере выбора данных просмотрите результаты и выберите нужный вам. Мастер выбора данных перейдет к следующему результату, который требуется определить.
Примечание: Нужна помощь в указании или получении правильных результатов? См. раздел об уточнении результатов ниже.
Когда все значения ячеек будут связаны с типами данных, мастер выбора данных закроется и вы сможете просмотреть карточки и вставить данные.
Распространенные вопросы о мастере выбора данных
Как уточнить результаты, чтобы получить правильный тип данных?
Если вы выбрали вариант Автоматически для преобразования текста в тип данных, Excel выполняет преобразование в тип данных, который является наиболее вероятным результатом, или отображает результаты в мастере выбора данных, которые кажутся наиболее вероятными. Но если выбран неправильный вариант, вы можете легко изменить или указать нужный тип данных.
Примечание: Например, термин "Бразилия", скорее всего, будет преобразован в страну, но при выборе типа данных "Фильмы" или при поиске "Бразилия фильм" в мастере выбора данных отображаются результаты для фильма "Бразилия".
Попробуйте выполнить любое из этих действий, чтобы получить правильный тип данных:
Выделите ячейку, которую нужно изменить, перейдите в раздел Данные и выберите нужный тип данных в коллекции Типы данныхна ленте.
Уточните термины (если возможно) в мастере выбора данных или путем ввода в ячейку. Например, введите "яблоки «Антоновка»" вместо "Антоновка".
Примечание: Если текст был преобразован в неправильный тип данных, вы также можете щелкнуть правой кнопкой мыши ячейку, нажать Типы данных > Изменить. и выбрать другой результат или уточнить термин в мастере выбора данных.
Что делать, если нет нужных мне результатов?
Если мастер выбора данных открыт, но результатов нет, попробуйте выполнить указанные ниже действия.
Убедитесь, что ваш текст написан правильно и что каждый уникальный термин находится в своей ячейке.
Попробуйте использовать похожие термины и альтернативы. Например, используйте слово «мост» вместо «эстакада».
Уточните термины (если возможно) в мастере выбора данных или путем ввода в ячейку. Например, введите "яблоки «Антоновка»" вместо "Антоновка".
Если все еще не удается найти результаты, см. раздел Какие типы связанных данных доступны, чтобы увидеть, поддерживается ли эта тема. В случае термина, для которого нет совпадающих результатов, вы можете вручную добавить данные в строку или удалить ее.
Что делать, если есть несколько результатов с одинаковым именем?
Это может произойти с определенными типами данных, например с типом данных Еда. Вы можете:
Уточнить результаты путем ввода более конкретного термина в текстовое поле мастера выбора данных.
Выбрать изображение результата, чтобы открыть подробное представление, а затем использовать эти сведения для осуществления информированного выбора.
В языке VBA есть универсальные типы данных, т.е. способные хранить как число, так и строку, дату и любой другой тип информации. Например, ячейка в таблице может содержать что угодно и изначально, программа не знает какой в ней тип данных хранится. Кроме того, в самой программе может использоваться тип данных Variant, который так же может содержать любое значение любого типа.
Чтобы определить какой тип данных в ячейке или в переменной типа Variant, можно воспользоваться несколькими способами.
Способ 1. Использовать функцию TypeName для определения типа данных
Эта функция возвращает строку с названием типа данных на английском. В качестве аргумента принимает переменную, значение ячейки.
Обратите внимание: Функция определяет только стандартные типы данных и не может определить пользовательский тип (определенный с помощью Type).
Возможные возвращаемые функцией значения:
Byte | Число типа Byte |
Integer | Целое число |
Long | Длинное целое число |
Single | Число одиночной точности с плавающей запятой |
Double | Число двойной точности с плавающей запятой |
Currency | Валюта |
Decimal | Число с плавающей запятой |
Date | Дата |
String | Строка |
Boolean | Логическое |
Error | Ошибка |
Empty | Не проинициализировано (т.е. переменная не была объявлена) |
Null | Неверные данные (в переменной нет корректных данных) |
Object | Объект (класс) |
Unknown | Тип данных не известен |
Nothing | Объект, никуда не ссылающийся |
Приведу несколько примеров по использованию TypeName.
Пример 1. Определение типа переменной.
Обратите внимание: если вы используете результат TypeName в условии, т.е. проверяете, соответствует ли тип данных определенному, например, Integer, то регистр символов возвращаемого типа имеет значение. Т.е. нужно писать Integer с заглавной буквы, либо использовать приведение всех символов к одному регистру.
Пример 2. Использование TypeName в условии.
Пример 3. Определение типа данных в ячейке.
Если функции была передана переменная массив, она вернет тип данных в массиве с добавлением скобок.
Пример 4. Определение типа массива.
Способ 2. Проверка на возможность преобразования строки к нужному типу.
Бывает ситуация, когда значение, например, число или дата, содержится в строке. В этом случае TypeName вернет String, а не Integer или Date. Чтобы узнать, что содержится в строке, можно воспользоваться одной из функций IsNumeric, IsDate, IsObject, IsArray, IsNull, IsError.
IsNumeric | Проверяет может ли выражение быть преобразовано в число |
IsDate | Проверяет может ли выражение быть преобразовано в дату |
IsObject | Проверяет, является ли переменная объектом |
IsArray | Проверяет, является ли переменная массивом |
IsNull | Проверка на пустое значение |
IsError | Проверка выражения на ошибку |
Пример 4. Определение может ли переменная быть преобразована в число.
К сожалению, как видим из примера, нет возможности проверить, содержится ли в строке число с плавающей точкой.
Пример 5. Определение содержит ли переменная дату (может быть преобразована в дату).
Проверка, содержится ли число или дата в ячейке листа делается аналогично, как и с переменными.
Помимо этих способов можно конечно еще придумать и другие, например, проверку строки с данными регулярным выражением или пройти по каждому символу в цикле и проверить цифра это или нет и тому подобное. Но на мой взгляд, описанных мной способов вполне достаточно для решения повседневных задач.
Читайте также: