1

Мне нужно сравнить как 3425 с 2478. если первая цифра (слева, 3 и 2) совпадает, она проверит 2-ю цифру и перейдет к 4-й цифре. Если только 1-я цифра соответствует назначению 1, сначала 2 совпадения, затем 2, первые три совпадения, затем 3 и все совпадения, затем 4, в противном случае 0.

Как я могу сделать это в Excel? Если кто-то, пожалуйста, дайте ваш ценный комментарий.

2 ответа2

2

Есть много способов сделать это, но если вы застряли, сделайте это проще, а не пытайтесь найти элегантное решение. Просто создайте формулу так же, как вы описываете ее.

Вы можете извлечь отдельные цифры, обрабатывая числа как текстовую строку и используя LEFT, MID и RIGHT (или даже просто MID для каждой цифры). Используйте вложенные IF для проверки последовательных цифр слева, либо добавляя 1 для каждого последующего совпадения, либо заканчивая, когда нет совпадения. Предполагая, что числа сравнения находятся в A1 и B1, формула результата в C1 будет выглядеть следующим образом:

=IF(LEFT(A1,1)<>LEFT(B1,1),0,1+IF(MID(A1,2,1)<>MID(B1,2,1),0,1+IF(MID(A1,3,1)<>MID(B1,3,1),0,1+IF(RIGHT(A1,1)<>RIGHT(B1,1),0,1))))

! [введите описание изображения здесь

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

1

Эта формула массива будет повторять числа и возвращать наибольшую совпадающую строку:

=MAX(IF(LEFT(A1,ROW($A$1:$A$4))=LEFT(B1,ROW($A$1:$A$4)),ROW($A$1:$A$4)))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

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