Я использую функцию IF для вставки строки в ячейку, если указана ячейка #N/A , функция работает, если я использую следующее

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",AR2,"')"))

где AR2 - дата, вот две разные строки, которые мне возвращают

insert in tempTable values('BIXEN V VASILE ALIN GEORGESCU','19/3/2012')
insert in tempTable values('BANEKIOSKEN V MUHAMMAD NASEEB KHAN','41003')

проблема в том, что некоторые даты в порядке, а другие в формате серийного номера, поэтому я пытаюсь использовать функцию TEXT чтобы изменить это на следующую функцию, она не работает

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",TEXT(AR2,d/m/yyyy),"')"))

я тоже пробовал

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",IF(AR2=d/m/yyyy,AR2,TEXT(AR2,d/m/yyyy)),"')"))

Кто-нибудь видит, что я делаю не так?

РЕДАКТИРОВАТЬ: вот формула работает

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",IF(AR2="d/m/yyyy",AR2,TEXT(AR2,"d/m/yyyy")),"')"))

1 ответ1

1

Вам нужны кавычки вокруг формата даты, т.е.

TEXT(AR2,"d/m/yyyy")

Кстати, вы можете использовать ISNA(AS2) а не AS2="#N/A"

Или даже (в Excel 2007+)

IFERROR(AS2,CONCATENATE( ... ), "")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .