1

Пользователь приходит ко мне с вопросом, почему эта функция не выполняет то, что он ожидает от нее.

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F7, "5", "0"), "4", "2"), "3", "3"), "2", "4"), "1", "5")

Можете ли вы понять, что пользователь думает, что он должен делать, и почему он не работает, как ожидалось?

2 ответа2

6

Похоже, намерение состоит в том, чтобы изменить некоторые числа в ячейке, чтобы 5 заменялось на 0, 4-> 2, 3-> 3, 2-> 4 и 1-> 5.

Проблема в том, что он делает это за один шаг, поэтому после того, как 4 изменились на 2, вы позже изменили все 2 (включая те, которые были 4) на 4.

Пример:

12345 //lets look at each step...
12340 // 5 -> 0
12320 // 4 -> 2
12320 // 3 -> 3  : why is this step used?
14340 // 2 -> 4  : changes the 4 that was changed above back again
54340 // 1 -> 5

54320 // expected result?

Если вы хотите придерживаться этого метода, вам нужно изменить 4-е на что-то неуместное (скажем "X"), а затем (после изменения 2-х) изменить X на 2.

0

Вот более простой способ (если вы меняете только однозначные числа):

=IF(6-F7=1,0,6-F7)

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