2013-01-17 11 views
12

Załóżmy, że aby obliczyć sumę na kolumnę, a następnie odejmuje sumę na innej kolumnie ale wykorzystaniem wyłącznie wartości z danym rzędzie w bieżącym wierszu (jednego wzoru osuszono mieszka).Jak wyrazić identyfikator komórki za pomocą ciągu literowego i bieżącego numeru wiersza w formule excel?

Tak, w "nieformalnym niestandardowego języka", to muszę coś takiego:

supose jestem w C5: = (SUM (A1: "A" + WIERSZ()) - suma (B1: "B" + WIERSZ()))

Jak mogę napisać poprawną interpretację w Excelu?

Odpowiedz

16

Można spróbować użyć INDIRECT, która przyjmuje odniesienie ciąg do zakresu i zwraca zakres samego:

=SUM(INDIRECT("A1:A"&ROW()))-SUM(INDIRECT("B1:B"&ROW())) 

Tutaj zaczynamy z „odgałęzienie” z "A1:A". Następnie uzyskać bieżący wiersz z ROW() (tak 5 w tym przykładzie) i łączyć je z naszą odgałęzienie, dając nam INDIRECT("A1:A5"). Od INDIRECT powróci zakresu wskazanego przez jego argument ("A1:A5" tutaj), możemy owinąć go ze wzoru SUM aby uzyskać wynik (który jest identyczny SUM(A1:A5)). Następnie robimy to samo dla kolumny B.

+2

Korzystanie INDEX będzie prawdopodobnie być mniej lotny, czyli '= SUM (A1: INDEX (A: A, ROW())) - SUMA (B1: INDEX (B: B, ROW())) ' –

+0

@barryhoudini Unikaj sztywno zakodowanych odniesień i utrzymuj dynamiczny, nie można z tym dyskutować (definitywnie zagłosuję na to, jeśli ją opublikujesz). – RocketDonkey

6

myślę, że może być patrząc na nią od tyłu. Trzeba zakotwiczyć pierwszy odwołanie do komórki w wywołaniu SUM do pierwszego rzędu, ale niech drugą zmianę odniesienia komórka z rzędu. Spróbuj tego w komórce C1:

=SUM(A$1:A1) - SUM(B$1:B1) 

Teraz podczas kopiowania że w dół kolumny, staje się:

C2: = SUM (A $ 1: A2) - SUMA (B 1 $ B2)
C3: = suma (a $ 1 A3) - suma (B $ 1: B3)
C4: = suma (a $ 1: A4) - suma (B $ 1: B4)
C5: = SUM (A $ 1: A5) - SUMA (B $ 1: B5)

+0

+1 - jeśli celem nie jest arbitralne rozłożenie komórek "sumy częściowej" w danych, a zamiast tego wykonywanie obliczeń w każdym rzędzie, głosuję w ten sposób :) – RocketDonkey

+0

Tak, to jest świetna odpowiedź. Ale ponieważ poprosiłem konkretnie o sposób łączenia, uważam, że poprawna odpowiedź jest pierwsza. +1 także. Jeśli nie ma pytania na temat tej odpowiedzi, należy ją utworzyć! :) – Michael

+0

Korzystanie pośrednim jest ogólnie zły pomysł, gdyż może to spowolnić obliczenia znacznie excel: Bill odpowiedź jest poprawna odpowiedź na to, co staramy się robić –

1
C5:= (SUM))-(SUM)) 

Spróbuj tego:

C5:= (SUM(INDIRECT("A1:A" & ROW()))-(SUM(INDIRECT("B1:B" & ROW())) 
Powiązane problemy