Potrzebujesz innej funkcji „INDIRECT” w programie Excel

2

Mam arkusz kalkulacyjny, który ma około 16 równań, które używają zakresów.

Chcę móc kopiować dane i równania dla wielu przebiegów danych. Przy różnych przebiegach danych zakresy są różne.

Zamiast edytować zakresy w 16 równaniach, chciałbym umieścić zakres w pojedynczej komórce, która jest używana przez wszystkie równania. Potem mogę raz edytować zakres.

Nazwane zakresy tak naprawdę nie pomagają, ponieważ podczas kopiowania zestawu równań, nazwane zakresy są również kopiowane i muszę edytować wszystkie 16 z nich w różnych zakresach, a także utworzyć nowe nazwane zakresy dla każdej instancji danych.

Funkcja INDIRECT nie pomaga, ponieważ przyjmuje ciąg jako wejście, a nie zakres.

W idealnej sytuacji mógłbym umieścić zakres w komórce X123 i edytować go za pomocą technik specyfikacji normalnego zakresu. W moich równaniach po prostu umieściłbym = Średnia (! X123), jeśli! był magicznym operatorem pośrednim, a równanie dostarczyłoby średnią komórek w zakresie zawartym w X123.

Czy jest dobry sposób, aby to osiągnąć?

tim11g
źródło
1
Dlaczego ma znaczenie, że INDIRECT przyjmuje ciąg znaków jako dane wejściowe?
erikxiv
1
Czy próbowałeś =AVERAGE(INDIRECT($X$123))?
Excellll

Odpowiedzi:

2

Funkcja INDIRECT nie pomaga, ponieważ przyjmuje wejście jako ciąg znaków,   nie zasięg. W idealnej sytuacji mógłbym umieścić zakres w komórce X123, ...

Myślę, że jesteś zdezorientowany tym, co wkładasz X123. Tutaj wpisz, jako tekst, adres zakresu. Zawartość komórki jest łańcuchem, a nie zakresem.

Przekażesz ten ciąg do INDIRECT() funkcja poprzez odniesienie do zakresu. =INDIRECT(X123) zwróci zawartość X123.

EDYTOWAĆ:

Twój komentarz uświadomił mi, że prawdopodobnie chciałeś czegoś innego. Myślę, że to, czego szukasz, to sposób użycia pośredniego odwołania do komórki jako odniesienia względnego, tj. Chcesz móc użyć pośredniego odniesienia, aby odwołać się do jednej rzeczy, gdy jest używana w A1, ale do odwołania się do czegoś innego (jedno kolumna powyżej) w przypadku użycia w B1. Możesz to zrobić za pomocą kombinacji INDIRECT, OFFSET, ROW, i COLUMN.

Na przykład, A2:A11 zawiera zestaw danych, podobnie jak B2:B11. W D1 masz adres „A2: A11” zapisany jako tekst.

sample data screen capture

Więc jeśli chcesz znaleźć średnią każdego zestawu danych przy użyciu pośredniego odwołania w D1, możesz użyć następującej formuły wypełniania (w D6 w tym przykładzie):

=AVERAGE(OFFSET(INDIRECT($D$1),ROW()-ROW($D$6),COLUMN()-COLUMN($D$6)))

Wypełnienie tej komórki z formułą 1 po prawej ( E6 ) da ci średnią z B2:B11. Kluczem do tej formuły jest zakotwiczenie jej w stałym punkcie odniesienia, $D$6 w tym przykładzie. W D6, pośrednie odniesienie nie zostanie w ogóle przesunięte. Odniesienie pośrednie zostanie przesunięte o tę samą liczbę komórek (w górę / w dół i w lewo / w prawo), z których jesteś przesunięty D6.

Excellll
źródło
Tak, to jest poprawne. Przykłady sprawiają, że wyglądają tak, jakby łańcuch musiał być „złożony”, ale w rzeczywistości akceptuje prosty zakres w komórce. Jedynym minusem jest to, że zasięg w komórce nie jest rozpoznawany przez program Excel jako zakres, więc nie jest aktualizowany po skopiowaniu do innej części arkusza.
tim11g
Twój komentarz sprawił, że pomyślałem, że tak naprawdę nie dałem ci tego, czego szukałeś. Zobacz moją edycję, co mam nadzieję, że bardziej pomocne rozwiązanie.
Excellll