W jaki sposób w arkuszu kalkulacyjnym Google mogę zmusić wiersz do określonej wysokości?

72

W arkuszu kalkulacyjnym Google Doc chciałbym, aby każdy wiersz miał tę samą wysokość bez względu na ilość tekstu w każdej komórce.

Próbowałem „ zmienić rozmiar wiersza ”, ale bez względu na to, ile pikseli wstawiłem, wiersz rozszerza się w dół do wysokości najwyższej komórki z pełnym rozszerzonym tekstem.

Jak zmusić wiersz do zachowania określonej wysokości i wstawiania pasków przewijania dla całego tekstu dłuższego niż ta wysokość?

alternatywny tekst

Oto wideo wyjaśniające, co mam na myśli:

http://screenr.com/Ol4

Edward Tanguay
źródło
Nie mogę znaleźć sposobu, aby to zrobić. Byłbym również zainteresowany rozwiązaniem tego problemu.
ale
Może istnieć sposób na pokazanie ograniczonej ilości treści, a następnie rozwinięcie jej lub otwarcie w polu po kliknięciu przy użyciu skryptu niestandardowego. Jak bardzo jesteś przywiązany do konkretnego interfejsu naszkicowanego na obrazie?
Dan Roberts
Rozwiązanie Muszę być w stanie wkleić „niekończący się tekst / obrazy” do małych komórek, aby móc powiększać i przeglądać cały ten tekst, jeśli chcę, ale w dowolnym momencie mogę wykonać kopię zapasową i uzyskać przegląd wszystkich moich notatki i kod. W tej chwili nie mogę uzyskać tego przeglądu, ponieważ długie teksty i wstawki kodu rozszerzają wszystko tak daleko w dół strony.
Edward Tanguay,
Właśnie dołączyłem, więc mój brak punktów powtórzeń oznacza, że ​​nie wolno mi głosować za rozwiązaniem rozwiązania user554370, a mianowicie dodać dużą część tekstu jako komentarz. Nie jestem pewien, czy rozwiązałoby to pytanie PO, czy nie, ale z pewnością mi pomogło, więc dziękuję.
Wziąłem swobodę głosowania !!
Jacob Jan Tuinstra

Odpowiedzi:

24

Nie ma na to rozwiązania. Właśnie tak działa HTML. Używają tabeli dla komórek i domyślnie nie dodaje pasków przewijania, jeśli tekst nie pasuje. Może zmienią to w przyszłości, ale nie sądzę, że jest to na ich liście priorytetów. Wygląda na to, że możesz scalić komórki tylko poziomo, na wypadek gdybyś chciał połączyć w pionie, aby wyglądał ładniej.

Lipis
źródło
5
Zastanawiam się, dlaczego nie zaimplementowali overflow:scrollw komórkach, aby to umożliwić.
ale
6
Niepoprawny @Lipis. To nie jest ograniczenie HTML. Proste <div style = "przepełnienie: ukryte; wysokość: 20px;"> Rzeczy tutaj </div> załatwi sprawę.
Levitikon
1
@Levitikon, ale czy możesz sobie wyobrazić, jak brzydka byłaby taka liczba pasków przewijania? a jeśli nie masz pasków przewijania, nie zobaczyłbyś całego tekstu ... i musiałeś zgadywać, że jest coś więcej do zobaczenia po kliknięciu lub coś w tym stylu ... Nie sądzę, że to jest dobre rozwiązanie ..
Lipis,
3
@Lipis: Więc masz komórkę {przepełnienie: ukryta} komórka: hover {przepełnienie: przewiń}, a wtedy widzisz tylko pasek przewijania komórki, nad którą najechałeś myszą.
RickMeasham
1
Teraz możliwe jest scalanie komórek w pionie.
Rubén
22

Przekonałem się, że można dodać dodatkowy wiersz pod wierszem, nad którym pracujesz, a następnie scalić dwa wiersze razem .

Teraz, jeśli wkleisz długi tekst w dowolnym polu w „podwójnym” wierszu, wyświetli on tylko kilka wierszy, utrzymując arkusz w czystości i zarządzaniu. Tekst w dowolnym polu zostanie rozwinięty, aby można go było przeczytać, klikając dwukrotnie to pole.

Przykład fragmentu arkusza kalkulacyjnego przedstawiającego opisane zachowanie

Wady pojawiają się na przykład podczas próby zmiany kolejności lub sortowania wierszy, ponieważ rzędy działają „po dwa” z tym rozwiązaniem, ale być może nie jest to duży problem.

Jennifer
źródło
To jest twórcze obejście, które naprawdę działa! Jeśli nie przeszkadza ci dodatkowy pusty wiersz. Świetne myślenie! Jedno zastrzeżenie: nie można włączyć filtrów w zakresie, który zawiera scalone wiersze w ten sposób.
JD Smith,
świetna sztuczka !!!!!
voxter
20

Czwarta opcja z prawej strony (pasek menu - gdy znajdziesz się w arkuszu kalkulacyjnym z wynikami itp.). Dostępna jest opcja „WRAP TEXT”, wybierz żądane wiersze i kliknij ją.

To mi załatwiło. Gdy tekst zawijania był włączony i wszystkie wiersze osiągnęły wysokość jednej linii, mogłem również wybrać wszystkie wiersze i zmienić ich rozmiar podczas zmiany rozmiaru, tak jak w programie Excel.

** „Zawijaj tekst” nie znajduje się w żadnym menu rozwijanym, jest to przycisk na wstążce pod spodem (ta sama sekcja co wyrównanie w poziomie i pionie).

Laurence
źródło
2
Ta odpowiedź jest o wiele bardziej przydatna niż zaakceptowana!
freitass
24
@freitass: W przypadku OP nie jest to „bardziej przydatne”. Ma w swojej komórce kod, który ma wiele podziałów linii. Wyłączenie owijania nie naprawi jego (lub mojego) problemu, gdy tylko skończy się komórka o długości równej liczbie nowych wierszy w treści. Działa to jednak w przypadku tekstu akapitowego. Ale to nie jest problem PO.
RickMeasham
4
Chociaż ta odpowiedź może być pomocna, nie rozwiązuje problemu PO.
Rubén
To nie działa, jeśli w tekście są wiersze linii, takie jak tekst lub poezja.
Wes Modes,
13

Gdy komórki zawierają znaki podziału linii, opcje formatowania „Przepełnienie”, „Zawiń” i „Klip” nie dają pożądanego efektu ograniczenia wysokości wiersza.

Aby obejść ten problem, można utworzyć sąsiednią kolumnę, która używa formuły do ​​usunięcia znaków podziału linii, a następnie ukryć oryginalną kolumnę. Takie podejście zachowuje możliwość prawidłowego filtrowania i sortowania danych.

Jednym z takich formuła: =arrayformula( iferror( SUBSTITUTE(A:A,char(10), " " ) )). Wklej go do wiersza 1 (wiersz nagłówka) sąsiedniej kolumny, zastępując A:Aetykietą kolumny źródłowej.

Ukryj oryginalną kolumnę, a następnie zastosuj formatowanie [przepełnienie | owinięcie | klip] do nowo utworzonej kolumny.

Pokazuje niepożądany wysoki rząd

Pokazuje wiersz o dogodnej wielkości i formułę, która go umożliwia

Robert K. Bell
źródło
8

Co powiesz na korzystanie z notatek?

Miałem w tekście znaki nowego wiersza, które chciałem jakoś pokazać w jednym wierszu - skończyłem na dodaniu długiego tekstu do notatki. Może to być wiele wierszy i pokazywać, kiedy unosisz się - dotyczy to funkcjonalności, której szukałem. Jedynym pozostałym problemem jest to, że pudełko na notatki jest bardzo wąskie!

Oto, jak teraz wygląda, gdy unosi się na komórce:

Dane z nowymi wierszami w notatkach (Arkusze Google)

(Zdaję sobie sprawę, że nie rozwiązuje to problemu OP, jak stwierdzono, ale nie ma sposobu na osiągnięcie tego, o co proszą, obecnie w Arkuszach Google).

Ian Grainger
źródło
1
Fantastyczny pomysł i wciąż aktualny w 2018 roku, bardzo dziękuję!
Liran H
6

Nowe Arkusze Google pozwalają na scalanie komórek w pionie. W ten sposób utrzymywana jest wysokość rzędu; gdy komórka jest w trybie edycji, wyświetlany jest pionowy pasek przewijania.

Przykład

Instrukcje - Aby scalić komórki w pionie, a następnie zmienić rozmiar raw, musisz wybrać komórkę + jedną komórkę poniżej, a następnie scalić:

  1. Nie używaj klawisza CTRL do wybierania wielu komórek do scalenia, ale zamiast tego użyj SHIFT + klawisz strzałki w dół (być może jest to błąd w Arkuszach Google, ponieważ wybranie sąsiednich komórek za pomocą CTRL powoduje, że opcja scalania jest niedostępna).

  2. Naciśnij przycisk Scal (dostępny również w menu: Format> Scal komórki> Scal pionowo).

Noam Manos
źródło
2

Nie ma rzeczywistego sposobu, zawijanie wpłynie na szerokość komórki, a nie na jej wysokość. Ilekroć mi to przeszkadza, dodaję tekst jako blok komentarza. Wystarczy kliknąć prawym przyciskiem myszy odpowiednią komórkę i wybrać „komentarz” z menu kontekstowego; usuń automatycznie wygenerowany tekst i wklej swój. W ten sposób będziesz w stanie utrzymać stałą wysokość wiersza dla wszystkich rzędów.

użytkownik554370
źródło
2

Jestem w stanie to osiągnąć na dwa sposoby:

  • Wyłącz zawijanie słów w każdej komórce w rzędzie (jak wszyscy już wspomnieli)
  • Zamień wszystkie podziały wiersza w tekście na 1000 spacji (1000 spacji pojawi się jako podział linii)
  • Zamień wszystkie tabulatory w tekście na 4 spacje (4 spacje pojawią się jako tabulatory)

Napisałem skrypt do uruchomienia z Narzędzia-> Edytor skryptów:

function myFunction() {

  var r=SpreadsheetApp.getActiveSheet().getDataRange();
  var rws=r.getNumRows();
  var cls=r.getNumColumns();
  var i,j,a,find,repl;
  find="\n";
  repl="                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ";
  for (i=1;i<=rws;i++) {
    for (j=1;j<=cls;j++) {
      a=r.getCell(i, j).getValue();
      if (r.getCell(i,j).getFormula()) {continue;}
      try {
        a=a.replace(find,repl);
        r.getCell(i, j).setValue(a);
      }
      catch (err) {continue;}
    }
  }
}

Wygląda to na zwinięte: wprowadź opis zdjęcia tutaj

Tak to wygląda po dwukrotnym kliknięciu komórki i rozwinięciu jej za pomocą pionowego paska przewijania: wprowadź opis zdjęcia tutaj

etayluz
źródło
1

Zgadzam się, że jak dotąd jest to niemożliwe, ale czy próbowałeś użyć różnych znaków szesnastkowych, takich jak NBSP, do tekstu? To spowodowałoby brzydkość i utratę formatowania. Zauważyłem, że bez zwrotów karetki długość wpisu nie ma wpływu na wysokość.

Edycja: Należy również przesłać (bardzo dobrze przedstawioną ideę) tutaj

gooddadmike
źródło
1

Po pierwsze, usuń wszystkie filtry z arkusza, jeśli je masz. Następnie po prostu dodaj ten skrypt do edytora skryptów i uruchom.

function myFunction() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheet = ss.getActiveSheet();
   var maxRows = sheet.getMaxRows(); 
   //Logger.log(maxRows);
   for (var i=2; i<=maxRows;)
   {
     sheet.insertRowAfter(i);
     range = 'A'+ i.toString() + ':Z' + (i+1).toString();
     sheet.getRange(range).mergeVertically();
     //sheet.setRowHeight(i+1, 1);
     i += 2;
   }
}

Uwaga: jeśli chcesz również zmienić rozmiar wierszy, odznacz drugi wiersz.

Vikas
źródło
0

Jeśli nie oferują tej funkcji, jedyną opcją może być utworzenie skryptu Greasemonkey , zakładając, że chcesz go tak źle.

Brad Mace
źródło
0

Prosty. Zaznacz wszystkie komórki w arkuszu kalkulacyjnym, a następnie usuń zaznaczenie przycisku WRAP TEXT. Zobacz przycisk podświetlony na poniższym zrzucie ekranu. Każdy wiersz i kolumna powróci do identycznych rozmiarów.

wprowadź opis zdjęcia tutaj

DJDeals.com
źródło
6
Działa to tylko wtedy, gdy tekst jest zawinięty. Jeśli tekst ma znaki powrotu karetki lub nowe linie (podobnie jak tekst zamieszczony w pytaniu), ten przycisk nic nie robi.
zeh
1
pomogło mi to w przypadku podobnego problemu, w którym wysokości rzędów nie działałyby poprawnie. zauważ także, że ikona nieco różni się w najnowszych dokumentach Google (wydanych pod koniec 2014 r.).
meklarian
0

Ma to związek z faktem, że kopiujesz i wklejasz gdzie indziej. Jeśli wklejasz, najpierw skopiuj materiał do Notatnika i pozbądź się niechcianych miejsc. Następnie wklej do arkusza kalkulacyjnego Google. Wtedy zawijanie będzie działało poprawnie.

Gość
źródło
0

Zawijanie tekstu działało dla mnie. Oto dlaczego: po rozpakowaniu konkretnego wiersza zauważyłem, że istnieje kolumna, dla której ktoś drastycznie zmniejszył szerokość. Ani jeden znak nie zmieściłby się poprawnie w tej kolumnie (ale w tej kolumnie było kilka wierszy tekstu), co spowodowało ogromny wzrost wysokości wiersza. Ponieważ kolumna była tak mała, żaden tekst nie był widoczny, a nawet po zmianie rozmiaru wysokość wiersza nie uległa zmianie. Po rozpakowaniu wystarczyła zmienić szerokość kolumny i ponownie owinąć wiersz.

Shashi
źródło
-2

Czwarta opcja z prawej strony (pasek menu - gdy znajdziesz się w arkuszu kalkulacyjnym z wynikami itp.). Dostępna jest opcja „WRAP TEXT”, wybierz żądane wiersze i kliknij ją.

uff
źródło
3
Jak to odpowiada na pytanie?
Vidar S. Ramdal,