У меня проблема в Excel 2007. Мне нужно сравнить одно значение - букву "C" - с диапазоном ячеек, которые находятся в одной строке. Проблема в том, что значения должны быть в каждой второй ячейке.
Итак, если у меня есть такая строка - C 434 C 324 C 3453 - в ячейке в конце должно быть написано - OK И если у меня есть такая строка - C 22 B 665 C 8877 - она должна сказать - ошибка как не все C.
Должно быть сделано как формула, а не VBA.
Итак, вопрос в том, можно ли проверить, содержит ли каждая другая ячейка в строке (диапазон) значение C, и вывести значение на основе этого.
ПС! Слишком много строк, чтобы сделать это вручную, как это (псевдокод) =IF(AND(A1="C"; A3="C");"ok";"ошибка")
Спасибо
Ответ 1 · рейтинг 2 · Dagg Nabbit
Вот что вы можете попробовать. Это требует использования некоторых дополнительных ячеек, но оно должно выполнять свою работу. Допустим, вы начинаете с этих данных:
Col_A Col_B Col_C Col_D Col_E Col_F Col_G Col_H Col_I
C 434 xxx C 435 xxx C 436 xxx C 437 xxx C 435
C 435 xxx C 436 xxx C 437 xxx C 438 xxx C 436
C 436 xxx C 437 xxx C 438 xxx C 439 xxx C 437
C 437 xxx B 438 xxx C 439 xxx C 440 xxx C 438
C 438 xxx C 439 xxx C 440 xxx C 441 xxx C 439
C 439 xxx C 440 xxx C 441 xxx B 442 xxx C 440
C 440 xxx C 441 xxx C 442 xxx C 443 xxx C 441
C 441 xxx C 442 xxx C 443 xxx C 444 xxx C 442
C 442 xxx C 443 xxx C 444 xxx C 445 xxx C 443
C 443 xxx B 444 xxx C 445 xxx C 446 xxx B 444
... скажем, "Col_A" находится в ячейке A1, а фактические данные начинаются в ячейке A2. Выберите ячейку A13 и введите следующую формулу:
=IF(OR(LEFT(A2)="C", MOD(COLUMN(A2),2)=0),1,0)
Теперь нажмите A13 и перетащите вправо, чтобы расширить его до I13. Перетащите весь этот диапазон вниз до A22:I22. Теперь у вас должно быть поле из единиц и нулей в этих ячейках.
Затем щелкните ячейку K2 и введите формулу:
=IF(PRODUCT(A13:I13),"Valid","Not valid!")
Щелкните ячейку K2 и перетащите ее вниз, чтобы расширить ее до K11.
Вот и все; вы можете скрыть блок ячеек со всеми единицами и нулями, если хотите.
Отказ от ответственности: проверено только в OO Calc. Хотя должно работать и в Excel.
Ответ 2 · Rafa Barragan
Я мог бы попробовать что-то вроде этого:
=IF(OR(LEFT(A2,1)<>"C",LEFT(B2,1)<>"C",LEFT(C2,1)<>"C",LEFT(D2,1)<>"C",LEFT(E2,1)<>"C"),"Not Valid","Valid")
Col_A Col_B Col_C Col_D Col_E VALIDATION
C 434 C 435 C 436 C 437 C 435 Valid
C 435 C 436 C 437 C 438 C 436 Valid
C 436 C 437 C 438 C 439 C 437 Действителен
C 437 B 438 C 439 C 440 C 438 Недействителен
C 438 C 439 C 440 C 441 C 439 Действителен
C 439 C 440 C 441 B 442 C 440 Недействителен
C 440 C 441 C 442 C 443 C 441 Valid
C 441 C 442 C 443 C 444 C 442 Valid
C 442 C 443 C 444 C 445 C 443 Valid
C 443 B 444 C 445 C 446 B 444 Недействительно
При этом вам не нужно добавлять столбцы, потому что проверяется каждый string в одной и той же формуле.