Arkusze Google mają funkcję polegającą na tym, że jeśli w formule znajduje się odwołanie do komórki danych, a dane z tej komórki są wycinane i wklejane w nowej lokalizacji, odwołanie w formule jest aktualizowane, aby wskazywało nową lokalizację komórki.
Chciałbym móc wycinać i wklejać moje dane bez zmiany formuł.
W przeszłości robiłem kilka ohydnych rzeczy, które obejmowały INDIRECT()
funkcję obejścia tej funkcji, ale wygląda na to, że musi być łatwiejszy sposób. Jakieś sugestie?
google-sheets
grahamparki
źródło
źródło
Odpowiedzi:
=$A$1
Notacja może być automatycznie przenoszone, jeżeli wartość w (powiedzmy)A1
jest zmieniany.Jedynym pewnym rozwiązaniem jest zawarcie wszystkich odniesień
INDIRECT
, np.=INDIRECT("$A$1")
Lub nawet tylko=INDIRECT("A1")
.Trudność z jednym z tych rozwiązań polega na tym, że masz wiele takich samych formuł, np
Zwykle należy wypełnić pierwszą,
=A1
a następnie skopiować i wkleić (lub przeciągnąć w dół za pomocą autouzupełniania), aby automatycznie wypełnić kolejną formułę. Jeśli jednak pierwsza formuła jest=$A$1
lub=INDIRECT("A1")
wtedy ta sztuczka nie zadziała (w rzeczywistości po to jest$
- aby zapobiec automatycznej zmianie).Jeśli masz wiele kolejnych formuł, jednym z rozwiązań jest:
=A1
i automatycznego wypełniania)=A1
,=A2
...=A99
w=INDIRECT("A1")
itp. Uwaga: podczas wyszukiwania i zamiany możesz użyć wyrażeń regularnych.źródło
Z forum Dokumentów Google :
Wybierz zakres komórek. Następnie użyj Ctrl+ C(kopiuj; powinno to umieścić komórki i ich formuły w buforze wklejania).
Teraz przeciągnij (najedź na krawędź zaznaczenia, aż kursor myszy zmieni się w dłoń; teraz możesz przeciągnąć) wybrane komórki do nowej pozycji.
Wróć do pierwotnej lewej górnej pozycji skopiowanych komórek i użyj Ctrl+ V(wklej).
Teraz powinieneś mieć dwa zestawy formuł odnoszące się do tych samych komórek.
źródło
Przekonałem się, szukając podobnego problemu i ostatecznie znalazłem rozwiązanie dla programu Excel, które wydaje się działać idealnie w arkuszach kalkulacyjnych Google.
W przypadku odwołań do komórek, których nie chcesz zmieniać podczas wklejania, po prostu dodaj
$
przed każdą częścią.Tak
G12
by się stało$G$12
Komórka z arkusza kalkulacyjnego, którego używam, robi to, czego potrzebuję, wygląda mniej więcej tak:
źródło
$
podczas gdy komórki absolutne są domyślne.$G$1&Sheet1!B3&Sheet1!A3&$G$2
robimyG1&Sheet1!$B$3&Sheet1!$A$3&G2
.W arkuszach kalkulacyjnych Google do wycinania i wklejania komórek bez automatycznego przesuwania ich formuł używasz Ctrl+ Xdo wycinania (lub Ctrl+ Cdo kopiowania) i Ctrl+ Shift+ Vdo wklejania.
ShiftMówi Arkusze Google, aby zostawić swoje formuły.
źródło
ctrl
+shift
+v
, zawsze kopiuje wartości, nawet jeśli zrobiłeśctrl
+x
na komórkach źródłowych.Obejdź to w ten sam sposób, co w programie Excel:
KOPIUJ i wklej dane, a następnie wróć i usuń je z pierwotnego miejsca.
źródło
Wytnij (zamiast Kopiuj) wydaje mi się działać, prawdopodobnie z tego samego powodu przeciąganie wybranych komórek działa - tzn. Jest to ta sama operacja. Jest to również jedyny znany mi sposób wklejania na inną stronę bez zmiany formuły.
Jeśli próbujesz wykonać Kopiowanie zamiast Przenieś, użyj metody przeciągania (skopiuj przed przeciągnięciem) lub skopiuj najpierw w innym miejscu strony.
źródło
Aby przenieść zakres komórek do nowej lokalizacji w Arkuszach Google:
1. Wybierz zakres komórek, które chcesz przenieść
2. Przesuń mysz do dowolnej krawędzi zaznaczenia, aż kursor zmieni się w dłoń
3. Przeciągnij komórki w nowe miejsce
Robi to, co powinien - przenosi je - aby wszystkie informacje o komórce pozostały dokładnie tak, jak były w pierwotnej lokalizacji.
ps. Google również to poinstruował tutaj, ale nie twierdzą, że możesz przeciągać z dowolnej krawędzi, tylko górnej, i dlatego moja instrukcja jest lepsza! :) Warto również zauważyć, że wybrane komórki muszą sąsiadować, aby to zadziałało.
źródło
Wykonaj kopię tekstu formuły zamiast kopii komórki: Użyj myszy, aby zaznaczyć tekst formuły i naciśnij CTRL + C. Następnie wybierz pole docelowe i naciśnij CTRL + V. To zachowanie formuły
źródło
Najprościej jest po prostu wybrać wszystkie komórki, które chcesz przenieść, i przeciągnij / upuść tam, gdzie chcesz. Jeśli masz formuły w innych komórkach, które odwoływały się do pierwotnej lokalizacji przeniesionych komórek, formuły referencyjne automatycznie zaktualizują się do nowej lokalizacji przeniesionych komórek. Mam nadzieję że to pomoże! (Zakładając, że działa to w programie Excel, ale zrobiłem to tylko w Arkuszach Google).
źródło
źródło
Właśnie Znajdź i zamień wszystkie wystąpienia „=” z „” (lub tyle wzorów Staram się jak mogę skopiować), aby wszystkie wzory na zwykły tekst. Kopiuję i wklejam komórki, a następnie dodaję „=” z powrotem.
Uwaga: prawdopodobnie nie będzie to działać w przypadku dużych arkuszy, ponieważ może mieć niezamierzone konsekwencje poprzez edycję innych komórek, ale zwykle działa dla moich celów.
źródło
Oto kolejna opcja:
Choć wydaje się to długą procedurą, w praktyce jest to tylko kilka kluczowych pociągnięć. Ponadto krok 4 jest obowiązkowy w mojej konfiguracji - bez niego Arkusze nadal będą aktualizować lokalizacje komórek, jakby były bezpośrednim kopiowaniem i wklejaniem. YMMV.
źródło
Używanie
INDIRECT()
działa świetnie do zachowania bezwzględnej pozycji referencji po skopiowaniu i wklejeniu obiektów docelowych , ale problem polega na tym, że zachowuje również pozycję bezwzględną podczas kopiowania formuły , co oznacza, że nie można łatwo rozszerzyć formuły na duże zasięg podczas korzystania z niego.Rozwiązaniem jest połączenie
INDIRECT()
zROW()
,COLUMN()
iADDRESS()
programowe wygenerowanie pozycji komórki docelowej na podstawie komórki formuły.W najprostszym przypadku, na przykład gdy komórka docelowa ma stałą kolumnę i zawsze pozostaje w tym samym wierszu co formuła, można to zrobić w następujący sposób:
INDIRECT("A"&ROW())
Aby wprowadzić dynamiczne przesunięcia z komórki formuły, możesz użyć
ADDRESS()
:INDIRECT(ADDRESS(ROW()-1,COL()-4))
Na poniższym zrzucie ekranu formuły w
B1:E1
rozszerzono do 16 rzędów poniżej, a następnieA7:A10
wycięto sekwencję liczb i wklejono 6 komórek w dół. Jak widać, najprostsze formuły zostały automatycznie dostosowane i zsynchronizowane, podczas gdy naiwne użycieINDIRECT()
nie ekstrapolowało poprawnie wszystkich wierszy, ale dwie formuły, które używająINDIRECT()
wraz z programowym wyszukiwaniem lokalizacji wierszy i kolumn, były w stanie zachować swoje odniesienia:źródło
Możesz naciskać, F4aby przełączać się między różnymi opcjami absolutnego odniesienia, gdy kursor znajduje się w komórce lub zakresie. Działa to na komputerach Mac i Windows.
źródło