Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
1

Условия если в ячейке не только цифра но и символ

12.11.2014, 23:43. Показов 2488. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
А1=2руб А2=4руб А3=7руб А4=5руб
Как сделать условия если равно4 или меньше тогда +1 а если 5 и больше равно +2 и так чтобы искало сумму.
2 4 7 5 ет +1+1+2+2=6
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2014, 23:43
Ответы с готовыми решениями:

Считать каждый символ строки в массив - если символ - цифра, то в массив с цифрами, иначе с буквами
дана строка из символов,включая цифры.Длина строки минимум 40 символов.Считать каждый символ в...

Выделения только части текста в одной ячейке при выполнении условия
Вкладка 1. В столбце А есть номера машин, которые состоят из букв и цыфр. Те номера которые также...

Строка: как мне сделать так, чтобы автоматически во второй ячейке выводилась только цифра из первой?
Здравствуйте уважаемые форумчане. Вопрос вот в чем есть таблица, запрос и форма если я ввожу в...

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

11
772 / 615 / 294
Регистрация: 05.01.2014
Сообщений: 1,338
13.11.2014, 06:05 2
ФМ
Код
=СУММ(ЕСЛИ(A1:A4<5;1;2))
Вложения
Тип файла: xlsx Книга1.xlsx (8.6 Кб, 6 просмотров)
1
4064 / 1445 / 399
Регистрация: 07.08.2013
Сообщений: 3,617
13.11.2014, 06:43 3
Лучший ответ Сообщение было отмечено Zver6233 как решение

Решение

В VBA есть функция Val
суть в том что эта функция будет искать с начала строки все числа пока не встретит символ который числом не является, в качестве разделителя воспринимает только точку (это надо учитывать из-за национальных настроек компа )
таким образом в вашем случае
в модуле пишем функцию
Visual Basic
1
2
3
4
5
6
Public Function ConRUR(r As Range) As Double
For i = 1 To r.Rows.Count
asd = Replace(r.Cells(i, 1), ",", ".")
If Val(asd) >= 5 Then ConRUR = ConRUR + 2 Else ConRUR = ConRUR + 1
Next i
End Function
файл сохраняем в формате xlsm (если у вас офис 2007 и выше)

теперь в в нужной ячейке пишем =ConRUR(a1:a4) и получаем результат
Вложения
Тип файла: xls ConRur.xls (37.0 Кб, 8 просмотров)
1
772 / 615 / 294
Регистрация: 05.01.2014
Сообщений: 1,338
13.11.2014, 09:55 4
Если у вас стоят разные символы в столбце, и они не заданы форматом, с учётом что между числом и символом есть пробел, можно использовать такую формулу, ФМ
Код
=СУММ(ЕСЛИ(--ЛЕВСИМВ(A6:A9;ПОИСК(" ";A6)-1)<5;1;2))
Вложения
Тип файла: xlsx Книга1.xlsx (9.0 Кб, 6 просмотров)
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
13.11.2014, 22:57  [ТС] 5
Цитата Сообщение от AleksSid Посмотреть сообщение
=СУММ(ЕСЛИ(--ЛЕВСИМВ(A6:A9;ПОИСК(" ";A6)-1)<5;1;2))
Почему А6 аргумент в ПОИСК?Функция не совсем то что я хотел. она не суммирует.
мне нужно чтобы каждый елемент меньше 5 обозначался как 1 а больше 5 обозначался как 2.
в итоге должно получится что у меня 2 числа меньше 5 это соответственно +1+1 и 2 числа больше или равно 5 а это +2+2 и вконце концов должно в суме получится сумма=6

Добавлено через 22 минуты
Цитата Сообщение от snipe Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
Public Function ConRUR(r As Range) As Double
For i = 1 To r.Rows.Count
asd = Replace(r.Cells(i, 1), ",", ".")
If Val(asd) >= 5 Then ConRUR = ConRUR + 2 Else ConRUR = ConRUR + 1
Next i
End Function
а как еще условия вписать чтобы если ячейка пустая то +0
0
772 / 615 / 294
Регистрация: 05.01.2014
Сообщений: 1,338
14.11.2014, 05:03 6
Цитата Сообщение от Zver6233 Посмотреть сообщение
Почему А6 аргумент в ПОИСК?Функция не совсем то что я хотел. она не суммирует.
Покажите файл где формула не суммирует. Вы мой файл смотрели, обе формулы ФМ (формулы массива) вводятся одновременным нажатием клавиш Ctrl-Shift-Enter.
0
4064 / 1445 / 399
Регистрация: 07.08.2013
Сообщений: 3,617
14.11.2014, 05:26 7
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Public Function ConRUR(r As Range) As Double
For i = 1 To r.Rows.Count
frt=r.cells(i,1)
if frt="" then frt="0"
asd = Replace(frt, ",", ".")
If Val(asd) >= 5 Then
ConRUR = ConRUR + 2 
Else
if  Val(asd)<>0 then ConRUR = ConRUR + 1
end if
Next i
End Function
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
14.11.2014, 17:18  [ТС] 8
Условия если в ячейке не только цифра но и символ

Цитата Сообщение от AleksSid Посмотреть сообщение
Покажите файл где формула не суммирует. Вы мой файл смотрели, обе формулы ФМ (формулы массива) вводятся одновременным нажатием клавиш Ctrl-Shift-Enter.
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
14.11.2014, 17:20  [ТС] 9
в первом должно было бить 7 а во втором 10
0
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
14.11.2014, 17:22  [ТС] 10
Цитата Сообщение от snipe Посмотреть сообщение
Public Function ConRUR(r As Range) As Double
Условия если в ячейке не только цифра но и символ
как убрать такое окно?
0
772 / 615 / 294
Регистрация: 05.01.2014
Сообщений: 1,338
14.11.2014, 18:33 11
Цитата Сообщение от AleksSid Посмотреть сообщение
Если у вас стоят разные символы в столбце, и они не заданы форматом, с учётом что между числом и символом есть пробел, можно использовать такую формулу, ФМ
Да, во второй формуле была ошибка, исправил.
Код
=СУММ(ЕСЛИ(--ЛЕВСИМВ($A$10:$A$15;ПОИСК(" ";$A$10:$A$15)-1)<5;1;2))
но она не подходит для первого диапазона т. к. в первом диапазоне символы заданы форматом.
Вложения
Тип файла: xlsx Книга1.xlsx (9.1 Кб, 7 просмотров)
1
37 / 37 / 18
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
14.11.2014, 18:38  [ТС] 12
Цитата Сообщение от AleksSid Посмотреть сообщение
Да, во второй формуле была ошибка, исправил.
спасибо за не равнодушие. Но я уже использую функцию которую написал снайп
0
14.11.2014, 18:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2014, 18:38
Помогаю со студенческими работами здесь

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

Как вывести -1 если встретиться какой-либо символ или цифра в любом месте строки
Есть строка String st = &quot;Hel-l,o&quot;, как вывести -1 если встретиться какой-либо символ или цифра в...

Если определенное слово в ячейке то после него вставить символ ":"
Здравствуйте! Есть столбец с текстом:СТРАНАСпортивная лига. Например(один столбец): ИТАЛИЯЛига...

Если введена не цифра, то написать, что нужно вводить только цифры и перейти снова к вводу
Доброго времени суток. Я новичок в этом деле. Как реализовать функцию: если введена не цифра, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru