Czy Excel może używać danych wejściowych formuły do ​​odwołań do komórek?

5

Mam komórkę w Excelu, do której chcę pobrać dane z innej komórki, która jest zdefiniowana jako wartość w trzeciej komórce.

Na przykład:

A1 = 5
A2 = 10
A3 = wstaw tutaj składnię, używając A4 jako źródła odwołania do komórki
A4 = wybór wejścia użytkownika

Gdy A4 jest ustawione na „A1”, A3 powinien powrócić 5. Gdy A4 jest ustawione na „A2”, A3 powinien powrócić 10.

Powyższe jest w rzeczywistości trochę zbyt dużym uproszczeniem. Czym jestem naprawdę Chcąc to zrobić, należy użyć jednej komórki do zdefiniowania arkusza, z którego pobierane będą dane do obliczeń, które będą wykonywane w innej komórce.

Scenariusz:

Skoroszyt zawiera kilka arkuszy ( Sheet1, Sheet2, Sheet3itd.), które są ułożone identycznie - wartość w 'Sheet1'!A2 reprezentuje ten sam rodzaj informacji, jaki jest reprezentowany przez wartość w 'Sheet2'!A2. Chcę zbudować kolejny arkusz, nazwany Comparison, co pozwala mi łatwo porównywać dane między dwoma wybranymi arkuszami. Arkusz ten będzie również ułożony identycznie z pozostałymi, ale tutaj wartości powinny być obliczeniami różnicy między podobnymi wartościami w arkuszach docelowych. Ten arkusz będzie miał również dwie specjalne komórki, które są skonfigurowane z walidacją danych i listami rozwijanymi w komórce, aby umożliwić porównanie dwóch innych arkuszy, według nazwy, dla porównania.

Powiedzmy, że komórki wyboru są w A5 i A6.

Dany:

A5 = Sheet5
A6 = Sheet3

Potem formuła w 'Comparison!'A2 powinno skutkować tym samym, co 'Sheet5'!A2-'Sheet3'!A2. Jeśli zmienię A6 na „Arkusz7”, wówczas formuła powinna się dostosować do 'Sheet5'!A2-'Sheet7'A2.

Czy ten rodzaj dynamicznego odwoływania się do komórek jest łatwy do wykonania (bez tandety IF oświadczenia) w programie Excel?

Iszi
źródło

Odpowiedzi:

6

Pierwszą część pytania można rozwiązać za pomocą POŚREDNI funkcjonować. Jeśli komórka A3 zawiera tę formułę =INDIRECT(A4) wtedy zwróci wartość komórki określonej w A4.

Możesz umieścić taką formułę =A5&"!A1" razem w komórce A7, a następnie użyj instrukcji POŚREDNIE do odniesienia A7. Umożliwiłoby to zmianę tylko nazwy arkusza w A5, ale zaktualizowałoby to całe odwołanie do formuły w dowolnej komórce, w której się znajdowałeś.

techturtle
źródło
Po prostu wpisując „INDIRECT” w polu formuły, w przypadku tekstu pomocy, widzę, że szuka formuły określonej przez ciąg tekstowy. Ciekawe, czy mógłbym tam zagnieździć CONCATENATE?
Iszi
Testowane: CONCATENATE działa wewnątrz INDIRECT. Teraz sprawdź, czy w ten sposób może wykonać obliczenia.
Iszi
Możesz robić z nim formuły. Zobacz moją edytowaną odpowiedź. Możesz wtedy zrobić forumę taką jak ta: =INDIRECT(A7)-INDIRECT(A8) robić to, co wydaje się, że chcesz zrobić.
techturtle
1
Dzięki, ale nie jestem pewien, dlaczego sugerujesz inną komórkę. Dla danego scenariusza rozwiązaniem dla A2 jest =INDIRECT(CONCATENATE("'",A5,"'!A2"))-INDIRECT(CONCATENATE("'",A6,"'!A2")). Szczególnie chcesz dołączyć te pojedyncze cudzysłowy, ponieważ Excel będzie ich potrzebował dla nazw arkuszy zawierających pewne znaki (np. Myślnik). Teraz, gdy o tym myślę, widzę, dlaczego zasugerowałeś inną komórkę - nie korzystałeś z KONCATENATU. CONCATENATE umożliwia zestawianie ciągów tekstowych w formule, która akceptuje tekst, np. POŚREDNIE.
Iszi
Tak. Masz bardzo opisowe pytanie, ale nadal trudno wyobrazić sobie dokładnie, co zamierzasz z nim zrobić, nie będąc w stanie zobaczyć samych arkuszy. Nie musiałem często używać CONCATENATE; dla mnie & działa w większości przypadków. Ale sprawia, że ​​formuła jest „na lewą stronę” w porównaniu z twoją, i wymaga dodatkowych komórek.
techturtle