2010-09-02 8 views
1

У меня проблема в Excel 2007. Мне нужно сравнить одно значение - букву «С» - с диапазоном ячеек, которые находятся на одной строке. Проблема в том, что значения должны быть в каждой другой ячейке.Как сравнить каждую вторую ячейку столбца с определенным значением?

Итак, если у меня есть такая строка - C 434 C 324 C 3453 - она ​​должна сказать в ячейке в конце - OK И если у меня есть такая строка - C 22 B 665 C 8877 - она ​​должна скажем - ошибка, поскольку не все - это C.

Должно быть сделано как формула, а не VBA.

Итак, вопрос в том, можно ли проверить, содержит ли каждая другая ячейка в строке (диапазоне) значение C и выводит значение на основе этого.

PS! Есть слишком много строк, чтобы сделать это вручную, как это (псевдокод) = IF (AND (A1 = "C"; A3 = "C"), "хорошо", "ошибка")

Благодарности

ответ

2

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

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.

+0

Спасибо, нужно немного изменить его, чтобы он делал больше, что я хотел, но это была помощь, посланная богом :) – Marten

0

я мог бы попробовать что-то вроде этого:

=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 ВАЛИДАЦИЯ
C 434 C 435 C 436 C 437 C 435 Действительно
C 435 C 436 C 437 C 438 C 436 Действителен
C 436 C 437 C 438 C 439 C 437 Действительно
C 437 B 438 C 439 C 440 C 438 Не действительный
С 438 С 439 С 440 С 441 С 439 Действительно
С 439 С 440 С 441 B 442 C 440 Не действует
C 440 C 441 C 442 C 443 C 441 Действительно
С 441 С 442 С 443 С 444 C 442 Действительный
C 442 C 443 C 444 C 445 C 443 действительно
C 443 B 444 C 445 C 446 B 444 не действует

При этом вам не нужно, чтобы добавить столбцы, потому что проверяет каждый string в той же формуле.