2013-11-28 5 views
1

Учитывая две колонки А и В так:Как получить максимальное значение из суммы двух столбцов в excel?

| A | B 
------------- 
1 | 6 | 2 
2 | 4 | 5 
3 | 8 | 2 

Могу ли я написать формулу первенствовать, что позволит достичь =MAX(A1+B1,A2+B2,A3+B3) без необходимости вводить каждую строку в формулу?

ответ

7

Вы можете сделать это с помощью «формулы массива», как это

=MAX(A1:A3+B1:B3)

подтверждают с CTRL + SHIFT + ENTER

Вы можете добавить функция INDEX, чтобы сделать это "обычные" формула, т.е.

=MAX(INDEX(A1:A3+B1:B3,0))

или версия без массива для Excel 2010 или более поздних версий

=AGGREGATE(14,6,A1:A3+B1:B3,1)

14 указывает на AGGREGATE функции LARGE - с 1 в конце означает наибольшее

+1

Просто интересно, почему это требует ' ctrl'-'shift'-'enter'? Это похоже на нормальную формулу. –

+0

Как «правило большого пальца», любой «вычисляемый массив» - в этом случае массив, рассчитанный путем добавления двух диапазонов - приводит к формуле, которая требует CSE, хотя некоторые функции (например, SUMPRODUCT и LOOKUP) обычно не нуждаются в CSE с вычисленными массивами - чтобы разрешить нормальную запись, вы можете добавить функцию INDEX - я отредактировал свой ответ на эффект –

3

Используйте формулу массива:

= MAX ((A1: A100) + (B1: B100))

Это должно быть введено с CTRL - SHIFT - ENTER а не только ENTER ключ

0

В Visual Basic writte это:

Sub Max_Sum() 
Dim col_1, col_2 As Double 
Dim Result, Result_Max As Double 

Dim nRow As Integer 
nRow = 1 'If the started row is the first 

Do 
    col_1 = Cells(nRow, 1).Value 
    col_2 = Cells(nRow, 2).Value 
    Result = col_1 + col_2 
    If Result > Result_Max Then 
     Result_Max = Result 
    End If 
    nRow = nRow + 1 
Loop Until col_1 = "" Or col_2 = "" 

'Writte the result in the C3 range 
Cells(3, 3).Value = Result_Max 
End Sub 
Смежные вопросы