Czy możesz odwołać się do całej kolumny w OpenOffice Calc (jak A: A w Excelu)?

19

Chciałbym odnieść się do całej kolumny, tak jak w programie Excel za pomocą A:A. I znaleźć dyskusję na forach OpenOffice.org, który jest kilka lat, i sugeruje, że jest / nie był schludny sposób, aby to zrobić. Przedstawione opcje to

  1. Zastosowanie A1:A65536.
  2. Użyj, OFFSET($A$1;0;0;65536;1)ponieważ poprzedni zakres może ulec zmianie, jeśli wstawisz lub usuniesz wiersze.
  3. Użyj Dane -> Zdefiniuj zakres ..., aby nazwać zakres kolumn (ale dla mnie nadal to po prostu równa się $A$1:$A$1048576).

Te podejścia wydają się zbyt skomplikowane i nadal nie osiągają idealnie mojego celu. Czy ktoś zna prostszy sposób na odniesienie się do całej kolumny?

Andy
źródło
1
Jaki jest twój cel i jak (3) nie osiąga go idealnie? Czy wiesz, że Excel A:Ato nie tylko cukier składniowy A1:Amaxi że wewnętrzna reprezentacja jest inna?
msw
1
Nie ma tu jednego celu; jest wiele sytuacji, w których znajduję odniesienie do kolumny. Sposób, w jaki (3) nie jest idealny funkcjonalnie, polega na tym, że cierpi na ten sam problem co (1): zakres zmienia się w miarę usuwania wierszy. To, czego chcę, to szybki sposób na odniesienie się (koniecznie) do całej kolumny. Nadzieja, która wyjaśnia. Twoje zdrowie.
Andy,
5
Szukam szybkiego sposobu. Żadne z tych podejść nie jest tak szybkie i proste, jak bym chciał. Jeśli na dodatek nie osiągną nawet tego, czego chcesz idealnie, możesz zadać pytanie superużytkownikowi, prosząc o lepszy sposób;) Trudno wyobrazić sobie sytuację, w której 3 spowodowałoby problemy, ale nie chcę polegać na moją wyobraźnię! Wolę coś, co brzmi semantycznie - chcę całą kolumnę . Doceniam twój czas, ale jak dotąd nie pomagasz robić postępów, ale podważasz zasadność pytania. To proste Q, zasługuje na proste A (być może „nie!”).
Andy,
2
Całkowicie się z tobą zgadzam. Chciałem tylko wiedzieć, czy jest to możliwe dzięki Calc, i otworzyć pytanie przed szeroką publicznością! Nie pracuję nad projektem ani w impasie, ani nic takiego.
Andy
1
Kiedy wybieram całą kolumnę w LibreOffice 3.5.2, wywołuje ją A1:A1048576, a nie A1:A65536. Jeśli spróbujesz użyć A1:A1048576wykresu, po prostu zmniejszysz go do czegoś takiego $Sheet1.$A$2:$A$26. Następnie dodajesz więcej rzeczy do kolumny i nie są one uwzględnione w wykresie. Byłoby naprawdę miło, gdybyśmy mogli po prostu powiedzieć A:A„używaj wszystkiego w tej kolumnie”.
endolith

Odpowiedzi:

4

Nie, ale będzie dostępny w przyszłej wersji Calc: https://bugs.documentfoundation.org/show_bug.cgi?id=44419

Edycja : W rzeczywistości jest już do pobrania w „ LibreOffice Fresh ”.

To pytanie dotyczy także OpenOffice, który jest teraz osobnym produktem. Nie wiem, czy uwzględniają takie zmiany z LibreOffice, ale znalazłem to :

W dłuższej perspektywie oznacza to, że duże ulepszenia OpenOffice mogą zostać włączone do LibreOffice, podczas gdy duże ulepszenia LibreOffice nie mogą zostać włączone do OpenOffice. To wyraźnie daje dużą przewagę LibreOffice, który szybciej się rozwija i zawiera więcej funkcji i ulepszeń.

Edycja : W rzeczywistości nie jest to naprawione. Możesz wejść A:Aw niektórych miejscach, ale jest to następnie konwertowane na A1:A1048576to, co nie jest tym samym. W rzeczywistości nie traktuje się A:Atak, jak powinno. Jeśli przesuwasz rzędy, na przykład się psuje.

Wydaje się również, że jeśli użyjesz go do tworzenia wykresów, twoje wykresy staną się setkami MB w pliku zip i spowolnią komputer itp.

endolit
źródło
Nadal jednak nie działa poprawnie. Zdefiniuj formatowanie warunkowe za pomocą, A:Aa przepisuje je na A1:A1048576, a następnie po przeniesieniu komórek formatowanie warunkowe zostanie zerwane.
endolith,
5

Możesz to uczynić mniej skomplikowanym, nazywając kolumnę. Wybierz kolumnę i nazwij ją za pomocą pola Nazwa w lewym górnym rogu Calc. Nie możesz użyć A: A, ale AA będzie działać. Jest to podobne do powyższego # 3. Wygląda na to, że dobrze obsługuje wstawianie / usuwanie wierszy, ale nie testowałem tego zbyt wiele. Stwórz szablon z każdą kolumną o nazwie i zacznij od tego, kiedy potrzebujesz funkcji. Wydaje się, że takie podejście wymaga najmniejszego wysiłku.

Jednak to nadal nie działa tak, jak bym się spodziewał. Jest to to samo, co użycie $ A: $ A w Excelu. Jeśli skopiujesz formułę do nowej kolumny, będzie ona nadal odwoływać się do kolumny A zamiast być tłumaczona na nową kolumnę przez przesunięcie kopii. To sprawia, że ​​jest to naprawdę kłopotliwe, jeśli jesteś przyzwyczajony do tej funkcji.

W końcu, aby dokładnie powielić funkcjonalność, wygląda na to, że musimy użyć 1 $: 1048576 $.

S. Leon Favor
źródło
Re: „musimy użyć 1 $: 1048576 $”. Czy to nie problem z używaniem wypełnienia?
Peter Mortensen
2

Sam szukałem odpowiedzi na to pytanie i po drodze znalazłem inną opcję ...

Odpowiedź odnosząca się do nazwania kolumny była dla mnie niejasna, kiedy ją przeczytałem.

Z punktu widzenia tego początkującego próbowano powiedzieć, że kiedy wybierzesz cały wiersz, w rozwijanym polu w lewym górnym rogu mówi do skutku A1:A1048576.. zmieniasz nazwę, aby nadać kolumnie nazwę .. i użyj tego w miejsce ExcelaA:A

To wciąż powodowało problemy i podobało mi się to, co znalazłem lepiej, jeśli dotyczy to każdego, kto znajdzie potrzeby tego postu.

Zamiast tego, powiedzmy A1 ... mam tytuł .. Total powiemy ... ze wszystkimi wartościami pod nim.

Właśnie użyłem tego zamiast zmiany nazwy kolumny i działałem w zasadzie tak samo bez tylu problemów .. chociaż w przypadku znaków tytułowych, które używają funkcji takich jak / (co było moim problemem), musisz pamiętać o umieszczeniu apostrofów przed i po tzn. 'Km/Gal'zdezorientowany Calc, dopóki nie zdałem sobie sprawy, że ich potrzebuję ...

Musiałem najpierw nazwać to czymś normalnym, (kmgal)a potem zmienić to po tym, jak włączyłem formułę, aby obliczyć średnią. W którym Calc poprawił to dla mnie, a potem zauważyłem, co zrobił i naprawiłem je sam.

Tak po prostu, w użyciu użyłem ...

=ROUND(AVERAGE('Km/Gal');3)
Nathaniel Sloan
źródło
2

Przejdź do jakiejś komórki (powiedzmy B1) i wstaw na niej wartość „A1048576”.

Następnie, aby odwołać się do wszystkich wartości z kolumny A, wystarczy wprowadzić coś takiego

=max(a1:index(b1))

Nie ma znaczenia, czy usuniesz niektóre wiersze z zakresu; zawartość b1 zawsze zapewnia, że ​​odwołujesz się do ostatniej komórki z kolumny A.

Uwaga : W mojej instalacji Calc wzór byłby taki =máximo(a1:índice(b1)), więc nie jestem pewien, czy nazwa funkcji jest naprawdę indexw języku angielskim.

woliveirajr
źródło