Проверьте несколько значений в ячейке и скопируйте одно - PullRequest
0 голосов
/ 18 марта 2019

У меня есть Excell, в котором одна из строк выглядит следующим образом:

09001 |09003 |09017 |173018 |8199

09001 |81009 |173005 |6709 |15005

Теперь мне нужна формула для ячейки, которая проверит, есть ли у меня некоторые конкретные значения (например, 09003 и 173005), и скопирует их в ячейку actall.

Значения, которые я ищу, повторяться не будут. Это будет лишь одно из них в ячейке, которое должно упростить его, но мне не повезло, пытаясь ...

Результат, ожидаемый в приведенных выше примерах:

|09003 |

|173007 |

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Например, «09003» можно извлечь с помощью следующих функций Excel:

Скажем, B3 - это ячейка, содержащая исходную строку:

09001 | 09003 | 09017 | 173018 | 8199  

Тогда:

//                      find start of target string
B4 contains formula 1 [ =LEFT(FIND("09003",B3)) ] // "09003" could also be passed as a cell reference
//                      find end of target string
C4 contains formula 2 [ =RIGHT(FIND("|", B3, B4)) ]
//                      extract string using endpoints
D4 contains result    [ =MID(B3, B4, (B4-C4)+1) ] 

enter image description here

1 голос
/ 18 марта 2019

Это мой ответ:

Формула для 9003:

=IFERROR(IF(FIND($B$1,A2)>0,B1,0),"-")

Формула для 173007:

=IFERROR(IF(FIND($C$1,A2)>0,C1,0),"-")

Структура результатов:

enter image description here

Формула для обоих чисел в одной ячейке:

=IFERROR(IF(FIND("9003",A1)>0,"9003",0),"-") & " " & IFERROR(IF(FIND("173007",A1)>0,"173007",0),"-")

Результат:

enter image description here

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