Я хотел бы сравнить две конкретные ячейки, каждая из которых содержит одну строку. Строка состоит из числового значения, состоящего из одной или двух цифр, за которым следует буква H или W Или ячейка может содержать только ноль (без буквы). например, клетки могут содержать 3H или 2W или 0 .

Я хочу вывести значение в третью ячейку на основе этих двух ячеек. Если ячейки оканчиваются на одну и ту же букву, я хочу, чтобы формула выводила значение ноль (0). Если они заканчиваются разными буквами, я хочу, чтобы формула умножала числовые значения из двух ячеек. Если любая из ячеек содержит только ноль, выходное значение должно быть нулевым.

Примеры:

  • 3H по сравнению с 2W становится 3 x 2 , выводя 6 .
  • 3H по сравнению с 2H выводит 0 поскольку буквы совпадают.
  • 3H по сравнению с 0 выводит 0 потому что одно из значений равно 0 .

На листе числовые значения являются переменными (до 99), но буквы всегда будут только H или W и всегда будут сразу после числа (за исключением случая ввода 0).

1 ответ1

0

Скажем, ваши два значения находятся в ячейках A1 и B1, а ваш результат - в C1. Вы можете использовать это в C1:

=IF(RIGHT(A1,1)=RIGHT(B1,1),0,LEFT(A1,LEN(A1)-1)*LEFT(B1,LEN(B1)-1))

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

В комментарии вы указываете, что одним из значений может быть одиночный ноль (после символа не должно быть символов), в этом случае выходные данные должны быть равны нулю. Чтобы избежать ошибки, вам нужно обработать такую ячейку, что можно сделать, включив тест. Этот метод также обрабатывает пустую ячейку:

=IF(OR(RIGHT(A1,1)=RIGHT(B1,1),A1=0,B1=0),0,LEFT(A1,LEN(A1)-1)*LEFT(B1,LEN(B1)-1))

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