В моем случае у меня есть бланк формы, который используется дилерами для рекламы деталей, и он рассчитывает окончательную стоимость; он ссылается на заблокированный лист «продукты». Проблема в том, что у меня не было возможности контролировать то, что они вошли.
Products can be like:
101 = A true number
7-2009 = Reads as date
7-5601-RT = TEXT/NUMBER reads as both number or text (NOT SOLVED YET)
CP6072CD = reads as plain text
У меня большая часть этого разобралась; единственный, который не является тем, который читается как текст / число.
Если кто-то ищет подобное решение, я сделал следующее:
Я создал три дополнительных столбца для проверки и отображения трех разных случаев: «НОМЕР», «ДАТА», «ТЕКСТ».
DATE: =NOT(ISERROR(DATEVALUE(B42)))
ISOTHER: =(ISNUMBER(--(MID(B42,ROW(INDIRECT("1:"&LEN(B42))),1))))
NUMBER: =ISNUMBER(B42)
NUMBER/TEXT: =NOT SOLVED YET
I42 = DATE
J42 = NUMBER
K42 = OTHER
L42 = TEXT
M42 = THE RESULT OF THE QUERY BELOW
=IF(AND(I42 = FALSE, J42 = FALSE, K42 = TRUE), "NUMBER", IF(AND( I42 = TRUE, J42= FALSE, K42=TRUE), "DATE", "TEXT"))
Это (ВЫШЕ) проверяет все истинные / ложные результаты и в зависимости от того, какое значение оказывается, я форматирую каждый из них, используя:
ISNUMBER = VALUE(B42)
DATE FORMATTED AS B42*1
ELSE TEXT - AS ORIGINAL
=IF(M42 = "NUMBER", VALUE(B42), IF(M42 = "DATE", B42*1, B42))
Так что теперь мне просто нужно выяснить, как проверить, является ли что-то и текстом, и числом, потому что 7-5601-RT проверяет так же, как число: «ЛОЖЬ, ЛОЖЬ, ИСТИНА, ИСТИНА»