Формула возвращает исходное значение, если указанный символ не найден
У меня есть два листа Excel (скажем, sheet1 и sheet2). Например, значения на листе 1 от R1C1 до R4C1 равны 0(5)
, 2(6)*
, 92
и 44
.
Я хочу скопировать только числовые значения из листа1 в sheet2. Таким образом, у меня есть эта формула в R1C1 моего листа2:
=LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1)
Эта формула возвращает значения на sheet2 следующим образом:
- IF Statement Excel VBA
- Получите среднее число групп для различных групп, которые различаются по размеру
- VBA Actuarial Triangle Код If-Then-Else
- Вложение IF AND OR функционирует в excel
- Некоторое условное программирование в Excel
R1C1 – 0
R2C1 – 2
R3C1 – #Value!
R4C1 – #Value!
Основная проблема заключается в R3C1 и R4C1.
Можем ли мы включить логический тест в формулу, которая возвращает значение 92
для R3C1 и 44
для R4C1, если формула не может найти "("
?
- IF и AND в комбинации
- excel array formula, если результат зависит от строки?
- Использование ROUND после вложенных IF-выражений в Excel
- Вложенные IF-выражения с AND в excel
- Если Error + If + VlookUp
- Функция, определяемая пользователем Excel, если ячейка подсвечена, тогда
- Excel VBA Если заявления с видимыми ячейками
- Найти значение в другом листе
Я предлагаю вам попробовать =IF(ISNUMBER(Sheet1!A1),Sheet1!A1,"")
Только после редактирования вопроса я теперь понимаю, что требование, по-видимому, относится к тому, что может быть выполнено комбинацией формулы OP и моего выше:
=IF(ISNUMBER(Sheet1!A1),Sheet1!A1,LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1))
Это вернет текст как и раньше 0
и 2
и числа 92
и 44
.
да, вы можете проверить наличие ошибки с помощью функции ISERROR:
=IF(ISERROR(LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1)),LEFT(Sheet1!A1,SEARCH("(",Sheet1!A1)-1))
так что это похоже на блок IF, THEN, ELSE
IF LEFT (Sheet1! A1, SEARCH ("(", Sheet1! A1) -1)) = #VALUE
Тогда просто возьмите Sheet1! A1) -1
иначе возьмите LEFT (Sheet1! A1, SEARCH ("(", Sheet1! A1) -1)
это должно заставить вас начать все равно
НТН
Филипп