Як можна змусити рядок бути певної висоти в електронній таблиці Google.


72

У таблиці Google Doc я хотів би, щоб кожен рядок був однакової висоти, незалежно від того, скільки тексту міститься в кожній комірці.

Я спробував " змінити розмір рядка ", але незалежно від того, скільки пікселів я вставлю, рядок розширюється вниз до висоти найвищої комірки з повним розгорнутим текстом.

Як я можу змусити рядок залишатися певної висоти та вставити смуги прокрутки для всього тексту, який перевищує цю висоту?

alt текст

Ось відео, що пояснює, що я маю на увазі:

http://screenr.com/Ol4


Я не можу знайти спосіб це зробити. Мені було б цікаво побачити рішення і для цього.
але

Можливо, існує спосіб показати обмежений обсяг вмісту, а потім розгорнути його або відкрити у вікні onclick за допомогою спеціального сценарію. Наскільки ви прив’язані до певного інтерфейсу, намальованого на вашому зображенні?
Ден Робертс

Мені потрібне рішення, щоб я міг вставити "нескінченний текст / зображення" в маленькі клітинки, щоб я міг збільшити масштаб і переглянути весь цей текст, якщо хочу, але в будь-який час можу створити резервну копію та отримати огляд усіх моїх примітки та код. Зараз я не можу отримати цей огляд, оскільки довгі тексти та вставки коду розширюють все так далеко вниз на сторінці.
Едвард Тангуай

Я щойно приєднався, тому моя відсутність точок повторення означає, що я не маю права звертатись до рішення користувача 555570 з цим питанням, а саме додавати великий фрагмент тексту як коментар. Я не впевнений, вирішив би це питання ОП чи ні, але, безумовно, мені це допомогло, тож дякую.

Взяв на себе нагороду !!
Яків Ян Туїнстра

Відповіді:


24

Рішення для цього немає. Це так, як працює HTML. Вони використовують таблицю для комірок і за замовчуванням не додають смуги прокрутки, якщо текст не підходить. Можливо, вони це змінять у майбутньому, але я не думаю, що це в їхньому списку пріоритетів. І виглядає так, що ви можете зливати клітинки лише горизонтально, про всяк випадок, якщо ви захотіли злитися вертикально, щоб це виглядало красивіше.


5
Цікаво, чому вони не реалізували overflow:scrollна клітинах, щоб дозволити це.
але

6
Неправильний @Lipis. Це не обмеження HTML. Простий <div style = "overflow: hidden; height: 20px;"> Тут речі </div> зробили б свою справу.
Левитикон

1
@ Левітікон, але ви можете собі уявити, наскільки потворно це було б із такою кількістю смуг прокрутки? і якщо у вас немає смуг прокрутки, ви б не побачили весь текст .. і ви повинні були здогадуватися, що є щось більше, щоб побачити його після натискання на нього чи чогось іншого .. Я не думаю, що це хороше рішення ..
Ліпіс

3
@Lipis: Отже, у вас є клітина {overflow: hidden} cell: наведіть курсор {overflow: scroll}, і тоді ви побачите лише смугу прокрутки клітинки, над якою ви наближаєтесь.
RickMeasham

1
Тепер можна об'єднати клітини вертикально.
Рубен

22

Я виявив, що працює над тим, щоб додати додатковий рядок під рядок, над яким ви працюєте, а потім об'єднати два рядки разом .

Тепер, якщо ви вставите довгий текст у будь-яке з полів у "подвійному" рядку, воно покаже лише кілька рядків, зберігаючи аркуш чистим та керованим. Текст у будь-якому полі розширюється для читання, якщо ви двічі клацніть по ньому.

Приклад витягу з електронної таблиці, що демонструє описану поведінку

Зовнішні сторони з'являються при спробі переставити або сортувати рядки, наприклад, оскільки рядки працюють "на два" з цим рішенням, але, можливо, це не є великою проблемою.


Тепер це творчий шлях, який справді працює! Якщо ви не заперечуєте над порожнім рядком. Чудове мислення! Одне застереження: Ви не можете ввімкнути фільтри для діапазону, який містить об’єднані рядки.
Дж. Сміт

чудовий трюк !!!!!
voxter

20

Четвертий варіант праворуч (панель меню - після того, як ви перейдете на електронну таблицю з результатами тощо). Є опція "ПЕРЕКЛЮЧИТИ ТЕКСТ", виберіть потрібні рядки та натисніть на неї.

Це розібралося для мене. Коли текст загортання був включений і всі рядки перейшли на одну висоту рядка, я також міг вибрати всі рядки та змінити їх розмір при зміні одного розміру, як у Excel.

** "Текст загортання" немає в жодному зі спадних меню, це кнопка на стрічці внизу (той же розділ, що і горизонтальне та вертикальне вирівнювання).


2
Ця відповідь просто набагато корисніша за прийняту!
freitass

24
@freitass: Для ОП це не корисніше. У його коді є код, який має багато рядків. Якщо вимкнути обгорткове звичаю, виправте його (або мій) випуск, як тільки ви закінчите, щоб клітинка була до тих пір, поки кількість нових рядків у вашому вмісті. Це буде працювати для тексту абзацу. Але це не проблема ОП.
RickMeasham

4
Хоча ця відповідь може бути корисною, вона не стосується проблеми ОП.
Рубен

Це не працює, якщо у вас є текстові стрічки в тексті, такі як тексти пісень чи вірші.
Wes Modes

13

Якщо комірки містять символи відключення рядків, параметри форматування "Переповнення", "Обгортання" та "Кліп" не мають бажаного ефекту обмеження висоти рядка.

Щоб обійти це, можна створити сусідній стовпчик, який використовує формулу, щоб викреслити символи розриву рядків, а потім приховати початковий стовпець. Такий підхід зберігає можливість належної фільтрації та сортування даних.

Одна така формула: =arrayformula( iferror( SUBSTITUTE(A:A,char(10), " " ) )). Вставте його в рядок 1 (рядок заголовка) сусіднього стовпця, замінивши A:Aміткою вихідного стовпця.

Сховати початковий стовпчик, а потім застосувати [переповнення | обгортання | кліпу] форматування до новоствореного стовпця.

Показано небажаний високий ряд

Показ рядка зручного розміру та формули, яка це дозволяє


8

Як щодо використання приміток?

У моєму тексті були символи нового рядка, які я хотів якось показати в одному рядку - те, що я в кінцевому підсумку робив, - це додавання довгого тексту в замітку. Це може бути багато ліній і показувати, коли ви плаваєте - що стосується функціоналу, який я шукав. Єдина проблема, яка залишається насправді, - це те, що вікно примітки дуже вузьке!

Ось як виглядає зараз, коли плаває по комірці:

Дані з новими рядками в примітках (Google Sheets)

(Я розумію, що це не зовсім вирішує проблему ОП, як заявлено, але немає способу досягти того, про що вони просять, зараз у Google Таблицях.)


1
Фантастична ідея, і досі актуальна у 2018 році, дуже дякую!
Ліран Н

6

Нові таблиці Google дозволяють об’єднати клітинки вертикально. Це робить, що висота рядка зберігається; коли комірка знаходиться в режимі редагування, відображається вертикальна смуга прокрутки.

Приклад

Інструкції. Щоб об'єднати клітинки вертикально, а потім змінити розмір необробленої, вам потрібно вибрати клітинку + одну клітинку внизу та об'єднати:

  1. Не використовуйте ключ CTRL для вибору декількох комірок для злиття, а скористайтеся клавішею SHIFT + Стрілка вниз (можливо, це помилка в Google Таблицях, оскільки вибір сусідніх комірок із CTRL робить опцію об’єднання недоступною).

  2. Натисніть кнопку "Об'єднати" (також доступно в меню: Формат> Об'єднати комірки> Об'єднати вертикально).


2

Фактично немає способу, обгортання вплине на ширину комірки, а не на висоту. Щоразу, коли це мене турбує, я додаю текст як блок коментарів. Просто клацніть правою кнопкою миші на відповідній комірці та виберіть "коментар" із контекстного меню; видаліть автоматично створений текст і вставте своє. Таким чином ви зможете підтримувати фіксовану висоту рядка для всіх своїх рядів.


2

Я в змозі досягти цього двома способами:

  • Вимкніть обгортання слів у кожній комірці ряду (як уже згадували всі)
  • Замініть всі розриви рядків всередині тексту на 1000 пробілів (1000 пробілів відображатиметься як розрив рядка)
  • Замініть всі вкладки всередині тексту на 4 пробіли (4 пробіли відображатимуться як вкладка)

Я написав сценарій для запуску з Інструменти-> Редактор сценаріїв:

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;}
    }
  }
}

Ось що виглядає як згорнуте: введіть тут опис зображення

Ось так виглядає, коли клітинку подвійним клацанням і розширенням вертикальною смугою прокрутки: введіть тут опис зображення


1

Я погоджуюся, що поки що це неможливо, але ви спробували використовувати для свого тексту різні шістнадцяткові символи, такі як NBSP? Це зробить речі некрасивими та втратить ваше форматування. Я помітив, що без повернення перевезення довжина запису не має відношення до висоти.

Редагувати: Ви також повинні надіслати свою (дуже добре представлену ідею) тут


1

По-перше, видаліть усі фільтри зі свого аркуша, якщо вони є. Потім просто додайте цей скрипт у свій редактор сценаріїв і запустіть.

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;
   }
}

Примітка: якщо ви також хочете змінити розмір рядків, не коментуйте другий останній рядок.


0

Якщо вони не пропонують цю функцію, єдиним варіантом може бути створення сценарію Greasemonkey , припускаючи, що ви хочете його так погано.


0

Простий. Виберіть усі комірки в електронній таблиці, а потім зніміть вибір кнопки WRAP TEXT. Дивіться кнопку, виділену на скріншоті нижче. Кожен рядок і стовпець повернеться до однакових розмірів.

введіть тут опис зображення


6
Це працює лише в тому випадку, якщо текст обгорнуто. Якщо в тексті є повернення каретки або нові рядки (як і текст, розміщений у запитанні), ця кнопка нічого не робить.
zeh

1
це допомогло мені у подібному питанні, коли висота рядків не працюватиме належним чином. також зауважте, що значок дещо відрізняється в останніх документах google (випущених наприкінці 2014 року).
meklarian

0

Це пов'язано з тим, що ви копіюєте та вставляєте з іншого місця. Якщо ви вставляєте, спочатку скопіюйте матеріал у Блокнот та позбудьтесь зайвих пробілів. Потім вставте в електронну таблицю Google. Тоді обгортання буде справно працювати.


0

Текст загортання працював на мене. Ось чому: Після розгортання конкретного рядка я помітив, що там стовпчик, для якого хтось різко зменшив ширину. Навіть один символ не вмістився б належним чином у цьому стовпчику (але в цьому стовпці було пару рядків тексту), і це призвело до того, що рядок сильно зростав у висоту. Оскільки стовпець був таким маленьким, жоден текст не був видно і навіть після зміни розміру висота рядка не змінювалася. Після розгортання все, що потрібно, було змінити ширину стовпця і знову загортати рядок.


-2

Четвертий варіант праворуч (панель меню - після того, як ви перейдете на електронну таблицю з результатами тощо). Є опція "ПЕРЕКЛЮЧИТИ ТЕКСТ", виберіть потрібні рядки та натисніть на неї.


3
Як це відповідає на питання?
Відар С. Рамдал

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.