проблема правильного оператора IF, вызывающая ошибку разбора - PullRequest
0 голосов
/ 19 сентября 2019

Я ищу формулу для объединения трех вещей.Чтобы записать значение ячейки A в ячейку B. Если она имеет номер, она должна захватить это число.Если значение ячейки A1 равно - тогда оно должно измениться на пустое в ячейке B1, и если оно имеет пустую ячейку в A1, то оно должно быть пустым в B1.

Я пробовал формулу в google sheet с IFИ ИЛИ объединяет, но выдает ошибку.

=if(OR(A1="-"," "),(A1=" ", " "))

=if(And(A1="-"," "),(A1=" ", " "))

=IF(A1="-"," ",IF(A1="","",IF(A1=" "," ")))

Ожидаемые результаты дают ошибку или дают ответ как ложный.

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Вам следует взглянуть на документацию IF , чтобы лучше понять ее, но главное здесь - помнить, что IF = IF(logical_expression, value_if_true, value_if_false)

. Лучший вариант - пойтис решением player0, потому что оно охватывает почти все случаи: =IF(ISNUMBER(A1), A1, )

Но только для того, чтобы помочь вам понять, что не так с вашими формулами, даже если эти решения не проверяют, является ли A1 числом:

= if (ИЛИ (A1 = "-", ""), (A1 = "", ""))

Правильный путь будет следующим: =if( OR(A1="-",A1=" "), " ", A1)


= if (And (A1 = "-", ""), (A1 = "", ""))

Этотна самом деле концептуально неверно, потому что вы хотите проверить, если A1 = "-" AND A1 = "", что невозможно и никогда не будет истинным, потому что ячейка не может быть равна "-" и "" одновременно.


= IF (A1 = "-", "", IF (A1 = "", "", IF (A1 = "", "")))

Правильный путь будет следующим: = IF (A1 = "-", "", IF (A1 = "", "", IF (A1 = "", "", A1 * 1031)*)))

0 голосов
/ 19 сентября 2019

это не то, как вы должны использовать функцию IF.

Если значение ячейки A1 равно - тогда оно должно измениться на пустое в ячейке B1 и если оно имеет пустую ячейку в A1 Тогдаон должен быть пустым в B1

, который можно решить следующим образом в ячейке B1:

=IF(ISNUMBER(A1), A1, )

, а формула массива будет:

=ARRAYFORMULA(IF(ISNUMBER(A1:A*1), A1:A, ))

enter image description here

...