Openoffice Calc (или Excel) подсчитывает совпадения в другой ячейке в столбце - PullRequest
0 голосов
/ 30 ноября 2018

Я искал безрезультатно, и моих навыков работы с электронными таблицами просто недостаточно для решения этой проблемы.

Скажем, у меня 5 рядов чисел в 90 столбцах.Для каждого столбца я хочу найти максимальное количество.Это достаточно просто, и я могу создать для этого вспомогательную строку.Однако я хочу посчитать, сколько столбцов в каждой строке содержит максимальное число.

В наборе данных, подобном следующему:

a b c d 
1 2 3 4 
5 4 3 2 
4 4 4 4 
1 1 1 1

Я хочу следующее:

 a b c d   countmax
 1 2 3 4   1
 5 4 3 2   2
 4 4 4 4   3
 1 1 1 1   0

Со вспомогательной строкой это будет выглядеть так:

 a b c d   countmax
 1 2 3 4   1
 5 4 3 2   2
 4 4 4 4   3
 1 1 1 1   0
 5 4 4 4

Я изучал sumproduct, countif, hlookup, vlookup и другие, но я не могу понять, как это сделать.В настоящее время я работал над этим, добавляя дополнительную строку для каждой строки и сравнивая каждую ячейку, а затем подсчитывая логические результаты.(содержимое ячейки: « = IF (a1 = a5; 1; 0) » содержимое в ячейке для последнего столбца: « = COUNTIF (a6: d6; 1) »)

В идеале решение - это формула, которая не зависит от каких-либо вспомогательных ячеек, а просто идет столбец за столбцом, считая, сколько раз ячейка в этой строке и столбце является максимальным значением.Мне также было бы любопытно узнать, как это сделать с одной вспомогательной строкой, поскольку этот подход потребует сравнения ячеек.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Чтобы сделать это без вспомогательной строки, вы можете использовать Смещение, чтобы получить каждый столбец по очереди, затем Промежуточный итог, чтобы получить максимум каждого столбца:

=SUMPRODUCT(--(A1:D1=SUBTOTAL(4,OFFSET($A$1,0,COLUMN($A$1:$D$4)-COLUMN($A$1),ROWS($A$1:$D$4)))))

Это должно быть нормально, но Смещениеэнергозависимая функция и может вызвать проблемы с производительностью больших листов.Кроме того, эта комбинация смещения и промежуточного итога присуща Excel и не работает в Open Office или Google Sheets.

enter image description here

0 голосов
/ 30 ноября 2018

"Мне также было бы интересно узнать, как это сделать с одиночным вспомогательным рядом."

С формулой:

=SUMPRODUCT(--(A1:D1=$A$5:$D$5))

enter image description here

...