Excel - текстовая или числовая формула - PullRequest
0 голосов
/ 21 сентября 2018

Мне интересно, есть ли ярлык для следующего:

У меня есть форма продукта, которую клиенты будут заполнять, и мне нужна формула для форматирования номеров деталей, которые они вводят правильно.Если это не так, их запись не соответствует списку товаров.

Ниже приведены различные варианты текста / числа / других вариантов ... Пример столбцов / строк в Excel

    101
7-2009
7-5601-RT
G-2121
5728B
PI-PIXES

Я получил все, кроме последнего, работающего с этимформула: FORMULA1

=AND(SUMPRODUCT(--ISNUMBER(--MID(B40,ROW($1:$9996),1)))<LEN(B40),MIN(FIND({0,1,2,3,4,5,6,7,8,9},B40&"0123456789"))<=LEN(B40))

Я также должен держать его в формате .xls.По сути, у меня есть один столбец, который проверяет это выше, и он возвращает TRUE / FALSE.

У меня есть другая формула, которая проверяет текст: FORMULA2:

=IF(I40=FALSE,"NUMBER", "TEXT")

Последний столбец ТЕСТЫ ДЛЯ ТЕКСТА / НОМЕРА. FORMULA3:

=IF(J40 = "NUMBER", VALUE(B40), B40)

PI-PIXES помечается как число из-за тире (дефис).

Без каких-либо других вариантов я подумываю добавить третий столбец, чтобы найти ТЕКСТ с дефисами.Затем я бы изменил проверку FORMULA3, если оба столбца 1 = ИСТИНА + столбец 2 = ИСТИНА и столбец 3 = ТЕКСТ, но это становится сложным, и мне интересно, есть ли ярлык.

1 Ответ

0 голосов
/ 21 сентября 2018

Я думаю, что это делает:

=IF(SUBSTITUTE(B40,"-","")<>TEXT(B40,"@"),B40,IFERROR(VALUE(B40),B40))

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

Это должно работать для более старых версий Excel:

=IF(SUBSTITUTE(B40,"-","")<>TEXT(B40,"@"),B40,IF(ISERR(VALUE(B40)),B40,VALUE(B40)))

Или даже это:

=IF(ISERR(FIND("-",B40)),IF(ISERR(VALUE(B40)),B40,VALUE(B40)),B40)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...