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
, Sheet3
itd.), 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?
=INDIRECT(A7)-INDIRECT(A8)
robić to, co wydaje się, że chcesz zrobić.=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.&
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.