Как исправить кодировку Excel, которая возвращает #VALUE - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть столбец в Excel, который возвращает значение на основе строки в другом столбце.Например, столбец A содержит строку:

"(1) Missing Data For 1 Runs..(20%)" 

, а в столбце B: "20".Формула в столбце B выглядит следующим образом:

 "=IF(ISBLANK(N14),"",(MID(RIGHT(N14,9),SEARCH("(",RIGHT(N14,9))+1,SEARCH(")",RIGHT(N14,9))-SEARCH("(",RIGHT(N14,9))-1)+0)*100)".

Эта формула отлично работает с аналогичной строкой с разным процентом, например, 30%, 25% и т. Д., Включая строку или значение в столбце A,которые возвращают пустое значение в столбце B.

Однако в столбце A существует другая строка, такая как

"(2) This spare part underwent repairs.." 

, в которой формула возвращает #VALUE в столбце B. Кроме того,есть другая строка, которая объединяет обе строки, например,

"(1) Missing Data For 1 Runs..(17%) 
(2) This spare part underwent repairs ..", 

, в которой возвращается также и 1017 * в столбце B.

Какая формула возвращает процентное число в другойколонка, в данном случае?

1 Ответ

1 голос
/ 03 апреля 2019

Хорошо, исходя из ваших отзывов, если в ячейке используется только процент в процентах, используйте «%» в качестве привязки для поиска (а не скобку, как вы это сделали). Попробуйте следовать

=IFERROR(VALUE(MID(A13,SEARCH("%",A13)-2,2)),IFERROR(VALUE(MID(A13,SEARCH("%",A13)-1,1)),""))

как это работает

VALUE(MID(A13,SEARCH("%",A13)-2,2))

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

IFERROR(VALUE(MID(A13,SEARCH("%",A13)-1,1)),"")

будет искать все экземпляры с одной цифрой в процентах и ​​возвращает эту одну цифру в качестве значения. Все остальное выдает ошибку, которая возвращает пробел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...