Сравнение 1 ячейки с 3 другими ячейками в Excel

Сравнение 1 ячейки с 3 другими ячейками в Excel

Я пытаюсь сравнить ячейку с 3 возможными результатами в гонке. Если ячейка равна значению в первой ячейке, они получают 5 очков, если ячейка равна значению во второй ячейке, они получают 3 очка, если ячейка равна значению в третьей ячейке, они получают 1 очко. Если ячейка не соответствует ни одной из трех возможных ячеек, они получают 0 очков. Я пробовал использовать нижеприведенное, но это не сработало

=IF(B4=$B$38,5,0)+OR(B4=B$39,3,0)+OR(B4=$B$40,1,0)

решение1

Используйте ИНДЕКС(,ПОИСКПОЗ())

=IFERROR(INDEX({5,3,1},MATCH(B4,B$38:B$40,0)),0)

Другой метод — использовать CHOOSE:

=IFERROR(CHOOSE(MATCH(B4,B$38:B$40,0),5,3,1),0)

Или просто математика:

=IFERROR(7-MATCH(B4,B$38:B$40,0)*2,0)

Главное в функции MATCH то, что она возвращает относительную позицию, которую мы можем использовать с INDEX, CHOOSE или просто выполнять с ней математические действия.

Так что если он равен значению в B40, он вернет 3. ИНДЕКС и ВЫБОР тогда вернут третий в массиве вариантов. Математика вернет 17-3*2

Если вы хотите использовать IF, то вы можете вложить IF, поместив следующий IF в false предыдущего.

=IF(B4=$B$38,5,IF(B4=B$39,3,IF(B4=B$40,1,0)))

Или, если у вас есть Office 365 Excel, вы можете использовать IFS:

=IFERROR(IFS(B4=$B$38,5,B4=B$39,3,B4=B$40,1),0)

решение2

Другой ответ Скоттанормально, но то, что у вас было, близко к работе. Если выабсолютно, положительно уверен что три базовых значения различны, вы можете сделать

=IF(B4=$B$38,5,0)+IF(B4=B$39,3,0)+IF(B4=$B$40,1,0)

Связанный контент