Здравствуйте !
Подскажите, пожалуйста, не получается отфильтровать дробные значения.
В столбце цифр, записанных текстом нужно удалить строки со значением < 135.
Перевожу текст в числовой формат. Но фильтр не видит дробные числа, пропуская их.
Спойлер
Dim R As Long
R = Cells(Rows.Count, 1).End(xlUp).Row ' Считается количество заполненных рядов
With Range("F1:F" & R)
.NumberFormat = "General"
.Value = .Value
End With ' Устанавливается числовой формат ячеек в столбце 5
Range("F1:F" & R).AutoFilter Field:=1, Criteria1:="<135", Operator:=xlFilterValues
ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete ' Удаляет выбранные фильтром строки
Selection.AutoFilter ' Фильтр снимается
Пробовал переводить ещё раз в числовой формат .NumberFormat = "0", Но дробное значение (7,5) так и остаётся в столбце, хотя формат показывает числовой без десятичных знаков. И автофильтр снова пропускает эти строки с 7,5.
Замена запятой на точку тоже не дала результат, там начинает как-то связываться датами и дают несуществующие четырёхзначные числа.
Или как-то через Clnt возможно.
У вас задача получается: перевести числа из текстового вида в числовой? С этим проблема?
Дробное число в ячейке не распознаётся как число? Зелёный треугольник ошибки есть?
Задача: удалить все строки по значению столбца меньше 135. Значения записаны текстом.
В столбце попадаются строки со значением 7,5.
Фильтр просто с текстом не работал. Когда я перевёл значения из текста в числовые, фильтр заработал, но пропускает значения дробные, а они меньше 135.
Зелёного треугольника ошибки нет.
Можно так узнать, является ли дробное число числом.
Вставьте в любую ячейку формулу: =СУММ(A1). Вместо A1 укажите ячейку, в которой находится 7,5.
Если это текст, то формула вернёт 0, если число, то формула вернёт 7,5.
=СУММ(F3237)
В ячейке выдаётся #ИМЯ?
Слева от неё — оранжевый ромбик с восклицательным знаком, при наведении на который всплывает сообщение "Формула содержит нераспознанный текст"
У вас русские или английские формулы используются в Экселе?
Если английские, то вместо СУММ используйте SUM.
Русские.
SUM даёт такой же результат.
Получается, что у вас не работает формула СУММ?
А другие функции работают? Когда-нибудь формулы использовали или ещё не приходилось?
Сумма не работает, может потому, что для неё нужны числа ? а там текст. Пробовал с другими ячейками = там где текст, не суммирует его, суммирует только числа. Кстати да, в левом верхнем углу всех ячеек столбца есть зелёный треугольник. Извиняюсь. Не сообразил вначале, что именно о нём вы спрашивали. Формулы работают и я использую формулы, только мало и однотипные.
Вот этот текст я и преобразовывал, чтобы автофильтр мог работать.
У меня функция СУММ работает по-другому, чем у вас. Видимо зависит от версии Офиса.
В моей версии Офиса, если в ячейке нечисло, то ошибки нет, а записывается 0.
Вы смогли понять: 7,5 это текст или число?
Сейчас функция СУММ для 7,5 возвращает ошибку? А если вы вручную запишите в ячейку 7,5, то СУММ возвращает 7,5?
У меня версия LTSC профессиональный плюс 2021.
7,5 — это текст: так объясняет оранжевый ромбик, пояснения в нём и зелёный треугольник (апостроф) в углу.
Если вручную пишу 7,5 — =СУММ тоже не распознаёт его. Более того, если написать в двух соседних ячейках по числу, потом сделать автосумму в третьей ячейке (число) и это число вывести в любую пустую ячейку (=СУММА(адрес)), то тоже не распознает.
Формат ячейки, в которой находится 7,5, какой: Общий, Числовой, Текстовый или другой?
Формат можно узнать так: щёлкните по ячейке правой кнопкой мыши - Формат ячеек... - вкладка Число.
Общий. Все ячейки в этом столбце такие (текст и общий формат).
У вас какая-то нестандартная ситуация. Если в ячейке сделать формат Общий и напечатать 7,5, то число должно стать числом и функция СУММ должна вернуть 7,5.
Вам нужно добиться, чтобы так было. Без этого двигаться дальше не надо.
Если не сможете решить, то выложите файл на форуме. Удалите из него секретные данные перед выкладыванием.
Создайте новый пустой эксель-файл, в ячейку вставьте 7,5, и вставьте формулу с СУММ. Работает формула с СУММ? Возвращает 7,5?
Столбец с числовыми значениями я сделал вот этим кодом
Спойлер
Dim R As Long
R = Cells(Rows.Count, 1).End(xlUp).Row ' Считается количество заполненных рядов
With Range("F1:F" & R)
.NumberFormat = "General"
.Value = .Value
End With ' Устанавливается числовой формат ячеек в столбце 5
Ячейки проверял, стали числами. Но =СУММА(адрес) не работает ни в одной ячейке Экселя, независимо от того, текст в ячейке или число.
Нужно писать не СУММА, а СУММ.
Да, так и писал. Это сейчас на автомате ошибся, извиняюсь.
В новом пустом эксель-файле то же самое, выдаёт нераспознанность текста.
То, что кодом исправлено на числа говорит ещё то, что числа по всему столбцу сместились к правому краю ячейки (текст отображается в начале ячейки).
Но, кстати, 7,5 числом не стало .... В этих ячейках 7,5 так и осталось расположено возле левой части.
Значит поэтому фильтр их пропускает.
Если СУММ вставить так: поставьте курсор под ячейку, в которой находится 7,5, - вкладка Главная - группа Редактирование - Сумма - нажмите Enter. Какая формула вставилась в ячейку?
=СУММ(R[-3219]C:R[-1]C)