Excel if cell integer

How to check if a specific Column has Integer on each cell, and if it contains a string, Insert a blank cell to row in question.

Zoe stands with Ukraine's user avatar

asked Dec 10, 2009 at 13:50

Tom's user avatar

Untested:

Dim row As Long
Dim col As Long

col = 4      ' Whatever column you want to check

For row = 1 To 100     ' How many rows you want to check
    If Not IsNumeric(Cells(row, col).Value) Then
        ' Do whatever you want to do in this case
    End If
Next row

If you clarify what you mean by «Insert a blank cell to row in question«, I will try to update my solution.

answered Dec 10, 2009 at 13:59

Heinzi's user avatar

HeinziHeinzi

166k57 gold badges361 silver badges516 bronze badges

3

You can check even check with a forumla that the column contains no none-numbers only

=COUNTBLANK(AAA:AAA)-COUNTBLANK(B:B)=COUNT(B:B)

where I assume that column AAA:AAA is empty.

answered Dec 10, 2009 at 14:07

akuhn's user avatar

akuhnakuhn

27.2k2 gold badges76 silver badges91 bronze badges

A mix of the other answers for bigger data.
It first checks if the colomn has none Numbers only and if not, checks where.

Dim row As Long
Dim LastRow As Long
LastRow = Range("B" & Rows.Count).End(xlUp).Row   'if you want the colomn B

If Excel.WorksheetFunction.CountBlank(Range("AAA:AAA")) - Excel.WorksheetFunction.CountBlank(Range("B:B")) = Excel.WorksheetFunction.Count(Range("B:B")) Then
For row = 1 To LastRow     

    If Not IsNumeric(Range("B" & row).Value) Then
        ' Do whatever you want to do in this case
    End If
Next row
End if

answered Nov 3, 2017 at 10:03

Pierre44's user avatar

Pierre44Pierre44

1,7012 gold badges10 silver badges32 bronze badges

Function IsInt(i As Variant) As Boolean
'checks if value i is an integer. returns True if it is and False if it isn't
    IsInt = False
    If IsNumeric(i) Then
        If i = Int(i) Then
            IsInt = True
        End If
    End If
End Function

Function IsString(s As Variant) As Boolean
'checks if variable s is a string, returs True if it is and False if not
    IsString = True
    If s = "" Then
        IsString = False
    Else
        If IsNumeric(s) Then
            IsString = False
        End If
    End If
End Function



Sub CheckInts(c As Integer)
'c = column number to check
'goes through all cells in column c and if integer ignores, if string sets to ""

Dim r, lastrow As Integer
    
    lastrow = Sheet1.UsedRange.rows.Count 'find last row that contains data
    
    For r = 1 To lastrow
        If Not IsInt(Cells(r, c).Value) Then
            If IsString(Cells(r, c).Value) Then
                Cells(r, c).Value = ""
            End If
        End If
    Next r
End Sub   

then just call CheckInts passing in the column number you want to change
e.g. CheckInts(2) will change column 2

answered Jul 3, 2020 at 13:55

Oli's user avatar

OliOli

391 gold badge1 silver badge6 bronze badges

This post will guide you on how to check if a number is an integer in Excel using different methods. Excel provides built-in functions such as the INT and MOD functions that you can use to determine if a number is an integer.

Additionally, you can create a user-defined function using VBA code to check if a number is an integer. By using these methods, you can easily determine if a number is an integer and use it in your calculations or data analysis in Excel.

Table of Contents

  • 1. Check If Value is Integer Using INT Function
  • 2. Check If a Number is Integer Using MOD Function
  • 3. Check If a Number is Integer with User Defined Function (VBA Code)
  • 4. Video: Check If Cell Value is Integer
  • 5. Related Functions

1. Check If Value is Integer Using INT Function

Assuming that you have a list of data in range B1:B5, in which contain numeric values. And you want to test each cell value if it is an integer, if true, returns TRUE, otherwise, returns FALSE. How can I do it. You can use a formula based on the INT function to achieve the result. Like this:

=INT(B1)=B1

Type this formula into a blank cell, such as: Cell C1, and press Enter key on your keyboard. Then copy this formula from cell C1 to range C2:C5 to apply this formula to check values.

check if number is integer1

Let’s see how this formula works:

The INT function try to extract the integer portion from a given cell value, if the returned value is equal to the default cell value, it indicated that numeric value is an integer.

2. Check If a Number is Integer Using MOD Function

You can also use the MOD function in combination with IF function to check if a cell value is integer in Microsoft Excel Spreadsheet. Just use the following MOD formula:

=IF(MOD(B1,1)=0, "TRUE", "FALSE ")

Select a cell where you want to display the result, then enter this formula, press Enter.

How to Check If a Number is Integer in Excel 10.png

The MOD function in Excel is used to return the remainder after dividing one number by another. If a number is divided by 1 and the remainder is 0, then the number is an integer.

3. Check If a Number is Integer with User Defined Function (VBA Code)

You can create a user-defined function in VBA (Visual Basic for Applications) to check if a number is an integer in Excel. Here’s how you can do it:

Step1: Open Excel and press Alt + F11 to open the Visual Basic Editor.

Step2: In the editor, click on Insert > Module to create a new module.

Step3: Type the following code into the module:

How to Check If a Number is Integer in Excel 11.png

Function IsInteger_ExcelHow(ByVal num As Double) As Boolean
    If num = Int(num) Then
        IsInteger_ExcelHow = True
    Else
        IsInteger_ExcelHow = False
    End If
End Function

Step4: Save the module and return to the Excel worksheet.

Step5: In the cell where you want to display the result, enter the formula:

 =IsInteger_ExcelHow(B1)

 where B1 is the cell containing the number you want to check.

How to Check If a Number is Integer in Excel 12.png

If the number in cell B1 is an integer, the formula will return TRUE. If it is not an integer, the formula will return FALSE.

4. Video: Check If Cell Value is Integer

This video will guide you how to check if a number is integer in Cells in Excel with different methods.

  • Excel INT function
    The Excel INT function returns the integer portion of a given number. And it will rounds a given number down to the nearest integer.The syntax of the INT function is as below:= INT (number)…

Содержание

  1. How To Check If The Number Is Integer In Excel?
  2. Technique 1: Using the INT Function
  3. Technique 2: Using the IF-MOD Function
  4. Understanding The Formula
  5. Conclusion
  6. Check if Cell is a Number or Text – Excel & Google Sheets
  7. Check Cell for Number or Text
  8. ISNUMBER Function
  9. ISTEXT Function
  10. Check if Cell is a Number or Text in Google Sheets
  11. Excel Determining if the data type of a cell is DateTime or Int
  12. 3 Answers 3
  13. Главные свойства Range и Cells
  14. Краткое руководство по диапазонам и клеткам
  15. Введение
  16. Важное замечание
  17. Свойство Range
  18. Свойство Cells рабочего листа
  19. Использование Cells и Range вместе
  20. Свойство Offset диапазона
  21. Использование диапазона CurrentRegion
  22. Использование Rows и Columns в качестве Ranges
  23. Использование Range вместо Worksheet
  24. Чтение значений из одной ячейки в другую
  25. Использование метода Range.Resize
  26. Чтение Value в переменные
  27. Как копировать и вставлять ячейки
  28. Чтение диапазона ячеек в массив
  29. Пройти через все клетки в диапазоне
  30. Форматирование ячеек
  31. Основные моменты

How To Check If The Number Is Integer In Excel?

Are you looking for a simple and quick way to find if the numbers in your data set are integers or not?

Well, if you are using Microsoft Excel, the answer is here!

An integer is a whole number that can be positive, negative, or 0 but cannot be a fractional number. There are formulas in Excel that help professionals identify the integers in data sets. In this article, we explain two techniques and how to use them.

Technique 1: Using the INT Function

With Excel’s INT function =INT(), you can find the integer fraction of a number, and it will also round a number down to the nearest integer. Such as =INT(8.6) becomes 8. You can find Microsoft Excel’s built-in INT function in the Math and Trigonometry Category.

We modify the formula to check if the numbers in an example data set are integers or not.

Step 1 − To check for integers, find an empty column or insert a temporary one next to the column you want to check. In this case, we select a cell in column C.

Step 2 − In the active cell, type in the following formula to check whether the number in cell B2 is an integer or not.

Syntax formula to check for integer in B2: =INT(B2)=B2

Step 3 − Press enter to see the result. In the case of an integer number, the cell will display True, while in any other case, it will display False. To replicate the function on the rest of the values of column B, select and drag down the square box in the bottom right corner of the formula cell.

However, the drawback of this formula is that it shows incorrect values for the empty boxes, which can be visually confusing. You can avoid this problem using the next technique.

Technique 2: Using the IF-MOD Function

If you want to ignore the blank boxes, use this new formula mentioned in the following steps. The modified formula can be used to do the same function without generating any errors.

Step 1 − If you want to check whether a cell contains an integer number, select the cell next to it.

Step 2 − Type in or paste the formula mentioned below in the active cell.

Syntax formula to check for integer in B2: =IF(LEN(B2),MOD(B2,1)=0,»»)

If you are checking the value of any other cell, say B8, the formula will look like . . .

Step 3 − Press enter to check the value.

If you want to check the values using the active cell with the formula, you can drag the green box in the bottom right corner down to B14 without having to write the formula each time.

Understanding The Formula

Integer or non-integer values can be determined using the combination of IF and MOD functions. Understanding the various parts of the formula, helps you modify it according to your dataset. In the MOD function, the integer is checked to ensure that it is not a fractional value, and the output is given based on the logical test.

Conclusion

In this tutorial in MS Excel, we learned two techniques to check whether a number in a specific cell is an integer. You can find many more easy tutorials on excel to save time when working on big data sets.

Источник

Check if Cell is a Number or Text – Excel & Google Sheets

Download the example workbook

This tutorial demonstrates how to check if a cell is a number or text in Excel and Google Sheets.

Check Cell for Number or Text

We can check if a cell is a number by using the ISNUMBER Function or check if a cell is text with the ISTEXT Function.

ISNUMBER Function

The ISNUMBER Function checks if a value is a number. It returns TRUE if the value is a number and FALSE if it’s not.

Knowing if a cell value is a number helps avoid errors when working with formulas. Numbers are sometimes stored as text, i.e. B4 (5000) in the example above, and that can result in errors in formulas referencing that cell.

In this example, the date, phone number, and time values all returned TRUE. These are regarded as numeric values in Excel and Google Sheets.

ISTEXT Function

The ISTEXT Function checks if a cell is text. It returns TRUE if the value is a text string and FALSE if it’s not.

In this example, although the value in B5 (2350) is a number, it’s written within quotes and therefore stored as a text string. That’s why it returns TRUE.

Check if Cell is a Number or Text in Google Sheets

These formulas (ISNUMBER and ISTEXT) work exactly the same in Google Sheets as in Excel.

Источник

Excel Determining if the data type of a cell is DateTime or Int

I am working on some functionality, which needs to know the data types of columns of a user given Excel Spreadsheet. These spreadsheets could have various formats, there is no standard format besides the first row being the names for the columns. The problem I am having is being able to differentiate between integers and DateTime Columns. Currently, I am using the following function to determine if a cell is a DateTime cell or not:

However if a cell has 1, 2, 3 etc in it, this function returns true as it is able to convert these to 1899/12/31 12:00:00 AM, 1900/01/01 12:00:00 AM, 1900/01/02 12:00:00 AM respectively. Is there a better way to determine the DateTime data type of cell? Or can you suggest an improvement on my current function so as to differentiate between them?

3 Answers 3

VBA function Isdate() checks also the cell format: 27/01/2012 gives True , the result of its integer equivalent 40935 is False .

Every cell in Excel contains either a formula, a text string or a double numeric value.

A date/time is just a number, so 11:02 on 02-Jan-2013 is 41276.45972, representing the number of days since 31-Dec-1899 (incorporating the old Lotus 123 error of believing 1900 was a leap year).

So there’s no way to be certain that a cell contains a date value without knowing something about the specific context of the worksheet.

If you know that dates will fall within a certain range (in particular we can often define at least a lower bound) then the function can be enhanced to test for a minimum value.

Further, if you can work with a reference to the cell itself and you know that cells containing values that represent date/times will be formatted appropriately, then you can test the NumberFormat property for something date/time-related (but this can quickly get complicated where custom formats are in use).

Источник

Главные свойства Range и Cells

Это большая ошибка — теоретизировать, прежде чем кто-то получит данные

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

Рассматриваемые темы включают свойство смещения, чтение значений между ячейками, чтение значений в массивы и форматирование ячеек.

Краткое руководство по диапазонам и клеткам

Функция Принимает Возвращает Пример Вид
Range адреса
ячеек
диапазон
ячеек
.Range(«A1:A4») $A$1:$A$4
Cells строка,
столбец
одна
ячейка
.Cells(1,5) $E$1
Offset строка,
столбец
диапазон .Range(«A1:A2»)
.Offset(1,2)
$C$2:$C$3
Rows строка (-и) одна или
несколько
строк
.Rows(4)
.Rows(«2:4»)
$4:$4
$2:$4
Columns столбец
(-цы)
один или
несколько
столбцов
.Columns(4)
.Columns(«B:D»)
$D:$D
$B:$D

Введение

Это третья статья, посвященная трем основным элементам VBA. Этими тремя элементами являются Workbooks, Worksheets и Ranges/Cells. Cells, безусловно, самая важная часть Excel. Почти все, что вы делаете в Excel, начинается и заканчивается ячейками.

Вы делаете три основных вещи с помощью ячеек:

  1. Читаете из ячейки.
  2. Пишите в ячейку.
  3. Изменяете формат ячейки.

В Excel есть несколько методов для доступа к ячейкам, таких как Range, Cells и Offset. Можно запутаться, так как эти функции делают похожие операции.

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

Давайте начнем с самого простого метода доступа к ячейкам — с помощью свойства Range рабочего листа.

Важное замечание

Я недавно обновил эту статью, сейчас использую Value2.

Вам может быть интересно, в чем разница между Value, Value2 и значением по умолчанию:

Использование Value может усечь число, если ячейка отформатирована, как валюта. Если вы не используете какое-либо свойство, по умолчанию используется Value.

Лучше использовать Value2, поскольку он всегда будет возвращать фактическое значение ячейки.

Свойство Range

Рабочий лист имеет свойство Range, которое можно использовать для доступа к ячейкам в VBA. Свойство Range принимает тот же аргумент, что и большинство функций Excel Worksheet, например: «А1», «А3: С6» и т.д.

В следующем примере показано, как поместить значение в ячейку с помощью свойства Range.

Как видно из кода, Range является членом Worksheets, которая, в свою очередь, является членом Workbook. Иерархия такая же, как и в Excel, поэтому должно быть легко понять. Чтобы сделать что-то с Range, вы должны сначала указать рабочую книгу и рабочий лист, которому она принадлежит.

В оставшейся части этой статьи я буду использовать кодовое имя для ссылки на лист.

Следующий код показывает приведенный выше пример с использованием кодового имени рабочего листа, т.е. Лист1 вместо ThisWorkbook.Worksheets («Лист1»).

Вы также можете писать в несколько ячеек, используя свойство Range

Свойство Cells рабочего листа

У Объекта листа есть другое свойство, называемое Cells, которое очень похоже на Range . Есть два отличия:

  1. Cells возвращают диапазон только одной ячейки.
  2. Cells принимает строку и столбец в качестве аргументов.

В приведенном ниже примере показано, как записывать значения в ячейки, используя свойства Range и Cells.

Вам должно быть интересно, когда использовать Cells, а когда Range. Использование Range полезно для доступа к одним и тем же ячейкам при каждом запуске макроса.

Например, если вы использовали макрос для вычисления суммы и каждый раз записывали ее в ячейку A10, тогда Range подойдет для этой задачи.

Использование свойства Cells полезно, если вы обращаетесь к ячейке по номеру, который может отличаться. Проще объяснить это на примере.

В следующем коде мы просим пользователя указать номер столбца. Использование Cells дает нам возможность использовать переменное число для столбца.

В приведенном выше примере мы используем номер для столбца, а не букву.

Чтобы использовать Range здесь, потребуется преобразовать эти значения в ссылку на буквенно-цифровую ячейку, например, «С1». Использование свойства Cells позволяет нам предоставить строку и номер столбца для доступа к ячейке.

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

Использование Cells и Range вместе

Как вы уже видели, вы можете получить доступ только к одной ячейке, используя свойство Cells. Если вы хотите вернуть диапазон ячеек, вы можете использовать Cells с Range следующим образом:

Как видите, вы предоставляете начальную и конечную ячейку диапазона. Иногда бывает сложно увидеть, с каким диапазоном вы имеете дело, когда значением являются все числа. Range имеет свойство Address, которое отображает буквенно-цифровую ячейку для любого диапазона. Это может пригодиться, когда вы впервые отлаживаете или пишете код.

В следующем примере мы распечатываем адрес используемых нами диапазонов.

В примере я использовал Debug.Print для печати в Immediate Window. Для просмотра этого окна выберите «View» -> «в Immediate Window» (Ctrl + G).

Свойство Offset диапазона

У диапазона есть свойство, которое называется Offset. Термин «Offset» относится к отсчету от исходной позиции. Он часто используется в определенных областях программирования. С помощью свойства «Offset» вы можете получить диапазон ячеек того же размера и на определенном расстоянии от текущего диапазона. Это полезно, потому что иногда вы можете выбрать диапазон на основе определенного условия. Например, на скриншоте ниже есть столбец для каждого дня недели. Учитывая номер дня (т.е. понедельник = 1, вторник = 2 и т.д.). Нам нужно записать значение в правильный столбец.

Сначала мы попытаемся сделать это без использования Offset.

Как видно из примера, нам нужно добавить строку для каждого возможного варианта. Это не идеальная ситуация. Использование свойства Offset обеспечивает более чистое решение.

Как видите, это решение намного лучше. Если количество дней увеличилось, нам больше не нужно добавлять код. Чтобы Offset был полезен, должна быть какая-то связь между позициями ячеек. Если столбцы Day в приведенном выше примере были случайными, мы не могли бы использовать Offset. Мы должны были бы использовать первое решение.

Следует иметь в виду, что Offset сохраняет размер диапазона. Итак .Range («A1:A3»).Offset (1,1) возвращает диапазон B2:B4. Ниже приведены еще несколько примеров использования Offset.

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

CurrentRegion возвращает диапазон всех соседних ячеек в данный диапазон. На скриншоте ниже вы можете увидеть два CurrentRegion. Я добавил границы, чтобы прояснить CurrentRegion.

Строка или столбец пустых ячеек означает конец CurrentRegion.

Вы можете вручную проверить CurrentRegion в Excel, выбрав диапазон и нажав Ctrl + Shift + *.

Если мы возьмем любой диапазон ячеек в пределах границы и применим CurrentRegion, мы вернем диапазон ячеек во всей области.

Range («B3»). CurrentRegion вернет диапазон B3:D14

Range («D14»). CurrentRegion вернет диапазон B3:D14

Range («C8:C9»). CurrentRegion вернет диапазон B3:D14 и так далее

Как пользоваться

Мы получаем CurrentRegion следующим образом

Только чтение строк данных

Прочитать диапазон из второй строки, т.е. пропустить строку заголовка.

Удалить заголовок

Удалить строку заголовка (т.е. первую строку) из диапазона. Например, если диапазон — A1:D4, это возвратит A2:D4

Использование Rows и Columns в качестве Ranges

Если вы хотите что-то сделать со всей строкой или столбцом, вы можете использовать свойство «Rows и Columns» на рабочем листе. Они оба принимают один параметр — номер строки или столбца, к которому вы хотите получить доступ.

Использование Range вместо Worksheet

Вы также можете использовать Cella, Rows и Columns, как часть Range, а не как часть Worksheet. У вас может быть особая необходимость в этом, но в противном случае я бы избегал практики. Это делает код более сложным. Простой код — твой друг. Это уменьшает вероятность ошибок.

Код ниже выделит второй столбец диапазона полужирным. Поскольку диапазон имеет только две строки, весь столбец считается B1:B2

Чтение значений из одной ячейки в другую

В большинстве примеров мы записали значения в ячейку. Мы делаем это, помещая диапазон слева от знака равенства и значение для размещения в ячейке справа. Для записи данных из одной ячейки в другую мы делаем то же самое. Диапазон назначения идет слева, а диапазон источника — справа.

В следующем примере показано, как это сделать:

Как видно из этого примера, невозможно читать из нескольких ячеек. Если вы хотите сделать это, вы можете использовать функцию копирования Range с параметром Destination.

Функция Copy копирует все, включая формат ячеек. Это тот же результат, что и ручное копирование и вставка выделения. Подробнее об этом вы можете узнать в разделе «Копирование и вставка ячеек»

Использование метода Range.Resize

При копировании из одного диапазона в другой с использованием присваивания (т.е. знака равенства) диапазон назначения должен быть того же размера, что и исходный диапазон.

Использование функции Resize позволяет изменить размер диапазона до заданного количества строк и столбцов.

Когда мы хотим изменить наш целевой диапазон, мы можем просто использовать исходный размер диапазона.

Другими словами, мы используем количество строк и столбцов исходного диапазона в качестве параметров для изменения размера:

Мы можем сделать изменение размера в одну строку, если нужно:

Чтение Value в переменные

Мы рассмотрели, как читать из одной клетки в другую. Вы также можете читать из ячейки в переменную. Переменная используется для хранения значений во время работы макроса. Обычно вы делаете это, когда хотите манипулировать данными перед тем, как их записать. Ниже приведен простой пример использования переменной. Как видите, значение элемента справа от равенства записывается в элементе слева от равенства.

Для чтения текста в переменную вы используете переменную типа String.

Вы можете записать переменную в диапазон ячеек. Вы просто указываете диапазон слева, и значение будет записано во все ячейки диапазона.

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

Как копировать и вставлять ячейки

Если вы хотите скопировать и вставить диапазон ячеек, вам не нужно выбирать их. Это распространенная ошибка, допущенная новыми пользователями VBA.

Вы можете просто скопировать ряд ячеек, как здесь:

При использовании этого метода копируется все — значения, форматы, формулы и так далее. Если вы хотите скопировать отдельные элементы, вы можете использовать свойство PasteSpecial диапазона.

В следующей таблице приведен полный список всех типов вставок.

Виды вставок
xlPasteAll
xlPasteAllExceptBorders
xlPasteAllMergingConditionalFormats
xlPasteAllUsingSourceTheme
xlPasteColumnWidths
xlPasteComments
xlPasteFormats
xlPasteFormulas
xlPasteFormulasAndNumberFormats
xlPasteValidation
xlPasteValues
xlPasteValuesAndNumberFormats

Чтение диапазона ячеек в массив

Вы также можете скопировать значения, присвоив значение одного диапазона другому.

Значение диапазона в этом примере считается вариантом массива. Это означает, что вы можете легко читать из диапазона ячеек в массив. Вы также можете писать из массива в диапазон ячеек. Если вы не знакомы с массивами, вы можете проверить их в этой статье.

В следующем коде показан пример использования массива с диапазоном.

Имейте в виду, что массив, созданный для чтения, является двумерным массивом. Это связано с тем, что электронная таблица хранит значения в двух измерениях, то есть в строках и столбцах.

Пройти через все клетки в диапазоне

Иногда вам нужно просмотреть каждую ячейку, чтобы проверить значение.

Вы можете сделать это, используя цикл For Each, показанный в следующем коде.

Вы также можете проходить последовательные ячейки, используя свойство Cells и стандартный цикл For.

Стандартный цикл более гибок в отношении используемого вами порядка, но он медленнее, чем цикл For Each.

Форматирование ячеек

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

Основные моменты

Ниже приводится краткое изложение основных моментов

  1. Range возвращает диапазон ячеек
  2. Cells возвращают только одну клетку
  3. Вы можете читать из одной ячейки в другую
  4. Вы можете читать из диапазона ячеек в другой диапазон ячеек.
  5. Вы можете читать значения из ячеек в переменные и наоборот.
  6. Вы можете читать значения из диапазонов в массивы и наоборот
  7. Вы можете использовать цикл For Each или For, чтобы проходить через каждую ячейку в диапазоне.
  8. Свойства Rows и Columns позволяют вам получить доступ к диапазону ячеек этих типов

Источник

TommyGun

TommyGun

MrExcel MVP

Joined
Dec 9, 2002
Messages
4,202


  • #2

<font face=Courier New><SPAN style=»color:#00007F»>Sub</SPAN> Test()
    <SPAN style=»color:#00007F»>Dim</SPAN> i <SPAN style=»color:#00007F»>As</SPAN> <SPAN style=»color:#00007F»>Integer</SPAN>, j <SPAN style=»color:#00007F»>As</SPAN> <SPAN style=»color:#00007F»>Long</SPAN>

    
    i = 250
    j = 2500000

    
    <SPAN style=»color:#00007F»>If</SPAN> TypeName(i) = «Integer» <SPAN style=»color:#00007F»>Then</SPAN>
        MsgBox «Variable «»i»» is an integer.»
    <SPAN style=»color:#00007F»>Else</SPAN>
        MsgBox «Variable «»i»» is a: » & TypeName(i)
    <SPAN style=»color:#00007F»>End</SPAN> <SPAN style=»color:#00007F»>If</SPAN>

    
    <SPAN style=»color:#00007F»>If</SPAN> TypeName(j) = «Integer» <SPAN style=»color:#00007F»>Then</SPAN>
        MsgBox «Variable «»j»» is an integer.»
    <SPAN style=»color:#00007F»>Else</SPAN>
        MsgBox «Variable «»j»» is a: » & TypeName(j)
    <SPAN style=»color:#00007F»>End</SPAN> <SPAN style=»color:#00007F»>If</SPAN>
<SPAN style=»color:#00007F»>End</SPAN> <SPAN style=»color:#00007F»>Sub</SPAN></FONT>

tzenekkik

New Member

Joined
Jun 3, 2002
Messages
39


  • #3

or try this: =TRUNC(A1;0)=A1
(provided A1 holds the value to be tested)

Scott Huish

Scott Huish

MrExcel MVP

Joined
Mar 17, 2004
Messages
19,961
Office Version
  1. 365
Platform
  1. Windows


  • #4

Sub test()
x = Range(«A1»).Value
If Int(x) / x = 1 Then
MsgBox «Value is an Integer»
Else
MsgBox «Value is not an Integer»
End If
End Sub

RalphA

Well-known Member

Joined
May 14, 2003
Messages
3,829


  • #5

One more:

Assuming A1 has the number, put, in any other cell, the formula:
=IF(INT(A1)=A1,»True»,»False»)

tzenekkik

New Member

Joined
Jun 3, 2002
Messages
39


  • #6

so: INT(A1)=A1 is the shortest version to test for an integer.

verblender

New Member

Joined
May 15, 2017
Messages
1


  • #7

since you are using VBA, not checking within the formulas of a given worksheet, you can check if a cell is of integer variable type using this syntax:

If

VarType(my_variable) = vbInteger Then ‘IF my_variable if is of type Integer …

other types of comparisons for different kinds of data (date, text, etc) can be made using the following code:

If VarType(my_variable) = vbInteger Then ‘IF my_variable is of type Integer …
‘Identical to :
If VarType(my_variable) = 2 Then ‘IF my_variable is of type Integer …

based on the following table:

vbEmpty 0
vbNull 1
vbInteger 2
vbLong 3
vbSingle 4
vbDouble 5
vbCurrency 6
vbDate 7
vbString 8
vbObject 9
vbError 10

i read this on from https://www.excel-pratique.com/en/vba/conditions_continued.php which basically covers this for VBA.

SpillerBD

Well-known Member

Joined
Jul 2, 2014
Messages
2,851
Office Version
  1. 365
Platform
  1. Windows


  • #8

=If (Trunc(A1)=A1,Integer,Non-Integer)
or
=If (Int(A1)=A1,Integer,Non-Integer)

I wouldn’t be surprised if the «math» and the floating point issues have some of these fail.

In VBA, you have INT function.
The other functions are available through WorksheetFunction

cubitmg

New Member

Joined
Feb 18, 2023
Messages
1
Office Version
  1. 2016
Platform
  1. Windows


  • #9

If you can use a macro then I find this function works:
Public Function isInteger(varValue)
On Error GoTo Exit_isInteger ‘if not numeric then int() will throw an error and take the default False return value
isInteger = False ‘default False return value
If Int(varValue) = Val(varValue) Then isInteger = True
Exit_isInteger:
End Function

Функция ЕСЛИ в Excel — это отличный инструмент для проверки условий на ИСТИНУ или ЛОЖЬ. Если значения ваших расчетов равны заданным параметрам функции как ИСТИНА, то она возвращает одно значение, если ЛОЖЬ, то другое.

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Функция Если в Excel примеры с несколькими условиями
  6. Пример 1. Проверяем простое числовое условие с помощью функции IF (ЕСЛИ)
  7. Пример 2. Использование вложенной функции IF (ЕСЛИ) для проверки условия выражения
  8. Пример 3. Вычисляем сумму комиссии с продаж с помощью функции IF (ЕСЛИ) в Excel
  9. Пример 4. Используем логические операторы (AND/OR) (И/ИЛИ) в функции IF (ЕСЛИ) в Excel
  10. Пример 5. Преобразуем ошибки в значения “0” с помощью функции IF (ЕСЛИ)

Что возвращает функция

Заданное вами значение при выполнении двух условий ИСТИНА или ЛОЖЬ.

Синтаксис

=IF(logical_test, [value_if_true], [value_if_false]) — английская версия

=ЕСЛИ(лог_выражение; [значение_если_истина]; [значение_если_ложь]) — русская версия

Аргументы функции

  • logical_test (лог_выражение) — это условие, которое вы хотите протестировать. Этот аргумент функции должен быть логичным и определяемым как ЛОЖЬ или ИСТИНА. Аргументом может быть как статичное значение, так и результат функции, вычисления;
  • [value_if_true] ([значение_если_истина]) — (не обязательно) — это то значение, которое возвращает функция. Оно будет отображено в случае, если значение которое вы тестируете соответствует условию ИСТИНА;
  • [value_if_false] ([значение_если_ложь]) — (не обязательно) — это то значение, которое возвращает функция. Оно будет отображено в случае, если условие, которое вы тестируете соответствует условию ЛОЖЬ.

Дополнительная информация

  • В функции ЕСЛИ может быть протестировано 64 условий за один раз;
  • Если какой-либо из аргументов функции является массивом — оценивается каждый элемент массива;
  • Если вы не укажете условие аргумента FALSE (ЛОЖЬ) value_if_false (значение_если_ложь) в функции, т.е. после аргумента value_if_true (значение_если_истина) есть только запятая (точка с запятой), функция вернет значение “0”, если результат вычисления функции будет равен FALSE (ЛОЖЬ).
    На примере ниже, формула =IF(A1> 20,”Разрешить”) или =ЕСЛИ(A1>20;»Разрешить») , где value_if_false (значение_если_ложь) не указано, однако аргумент value_if_true (значение_если_истина) по-прежнему следует через запятую. Функция вернет “0” всякий раз, когда проверяемое условие не будет соответствовать условиям TRUE (ИСТИНА).

    IF-EXCEL-01|
  • Если вы не укажете условие аргумента TRUE(ИСТИНА) (value_if_true (значение_если_истина)) в функции, т.е. условие указано только для аргумента value_if_false (значение_если_ложь), то формула вернет значение “0”, если результат вычисления функции будет равен TRUE (ИСТИНА);
    На примере ниже формула равна =IF (A1>20;«Отказать») или =ЕСЛИ(A1>20;»Отказать»), где аргумент value_if_true (значение_если_истина) не указан, формула будет возвращать “0” всякий раз, когда условие соответствует TRUE (ИСТИНА).

IF EXCEL - 02

Функция Если в Excel примеры с несколькими условиями

Пример 1. Проверяем простое числовое условие с помощью функции IF (ЕСЛИ)

При использовании функции ЕСЛИ в Excel, вы можете использовать различные операторы для проверки состояния. Вот список операторов, которые вы можете использовать:

IF-EXCEL-03

Ниже приведен простой пример использования функции при расчете оценок студентов. Если сумма баллов больше или равна «35», то формула возвращает “Сдал”, иначе возвращается “Не сдал”.

Excel-IF-04

Пример 2. Использование вложенной функции IF (ЕСЛИ) для проверки условия выражения

Функция может принимать до 64 условий одновременно. Несмотря на то, что создавать длинные вложенные функции нецелесообразно, то в редких случаях вы можете создать формулу, которая множество условий последовательно.

В приведенном ниже примере мы проверяем два условия.

  • Первое условие проверяет, сумму баллов не меньше ли она чем 35 баллов. Если это ИСТИНА, то функция вернет “Не сдал”;
  • В случае, если первое условие — ЛОЖЬ, и сумма баллов больше 35, то функция проверяет второе условие. В случае если сумма баллов больше или равна 75. Если это правда, то функция возвращает значение “Отлично”, в других случаях функция возвращает “Сдал”.

Excel-If-06

Пример 3. Вычисляем сумму комиссии с продаж с помощью функции IF (ЕСЛИ) в Excel

Функция позволяет выполнять вычисления с числами. Хороший пример использования — расчет комиссии продаж для торгового представителя.

В приведенном ниже примере, торговый представитель по продажам:

  • не получает комиссионных, если объем продаж меньше 50 тыс;
  • получает комиссию в размере 2%, если продажи между 50-100 тыс
  • получает 4% комиссионных, если объем продаж превышает 100 тыс.

Рассчитать размер комиссионных для торгового агента можно по следующей формуле:

=IF(B2<50,0,IF(B2<100,B2*2%,B2*4%)) — английская версия

=ЕСЛИ(B2<50;0;ЕСЛИ(B2<100;B2*2%;B2*4%)) — русская версия

Excel-IF-07

В формуле, использованной в примере выше, вычисление суммы комиссионных выполняется в самой функции ЕСЛИ. Если объем продаж находится между 50-100K, то формула возвращает B2 * 2%, что составляет 2% комиссии в зависимости от объема продажи.

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

Пример 4. Используем логические операторы (AND/OR) (И/ИЛИ) в функции IF (ЕСЛИ) в Excel

Вы можете использовать логические операторы (AND/OR) (И/ИЛИ) внутри функции для одновременного тестирования нескольких условий.

Например, предположим, что вы должны выбрать студентов для стипендий, основываясь на оценках и посещаемости. В приведенном ниже примере учащийся имеет право на участие только в том случае, если он набрал более 80 баллов и имеет посещаемость более 80%.

Excel-If-09

Вы можете использовать функцию AND (И) вместе с функцией IF (ЕСЛИ), чтобы сначала проверить, выполняются ли оба эти условия или нет. Если условия соблюдены, функция возвращает “Имеет право”, в противном случае она возвращает “Не имеет право”.

Формула для этого расчета:

=IF(AND(B2>80,C2>80%),”Да”,”Нет”) — английская версия

=ЕСЛИ(И(B2>80;C2>80%);»Да»;»Нет») — русская версия

Excel-IF-10

Пример 5. Преобразуем ошибки в значения “0” с помощью функции IF (ЕСЛИ)

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

Формула для преобразования ошибок в ячейках следующая:

=IF(ISERROR(A1),0,A1) — английская версия

=ЕСЛИ(ЕОШИБКА(A1);0;A1) — русская версия

Формула возвращает “0”, в случае если в ячейке есть ошибка, иначе она возвращает значение ячейки.

ПРИМЕЧАНИЕ. Если вы используете Excel 2007 или версии после него, вы также можете использовать функцию IFERROR для этого.

Точно так же вы можете обрабатывать пустые ячейки. В случае пустых ячеек используйте функцию ISBLANK, на примере ниже:

=IF(ISBLANK(A1),0,A1) — английская версия

=ЕСЛИ(ЕПУСТО(A1);0;A1) — русская версия

EXCEL-IF-11

Like this post? Please share to your friends:
  • Excel if cell ends with you
  • Excel if cell contains text or text
  • Excel if case when
  • Excel if bold text
  • Excel if between range