Массив данных в word

Как сделать таблицу в Word: пошаговая инструкция для создания и редактирования простых и сложных массивов данных

Как сделать таблицу в Word

Набрать текст в редакторе под силу большинству из нас, даже если мы только осваиваем работу за компьютером. А вот изменить его, дополнить изображениями и таблицами, сделать отступы, поля и добавить нумерацию страниц уже сложнее. Для этого надо получить специальные знания, иначе можно долго искать нужную функцию и вникать в ее работу.

Я давно подружилась с программами Microsoft Office и хочу помочь вам в их освоении. Сегодня разберемся, как сделать таблицу в Word и Google Документе, как добавить и удалить строки и столбцы, поменять их ширину, выровнять данные в ячейках и произвести другие действия.

Все способы с пошаговыми инструкциями

Откройте программу и посмотрите на основное меню вверху экрана. Среди перечня опций нам нужна вкладка “Вставка”.

Я использую Office 365, который по интерфейсу не отличается от пакета 2016 года. Если у вас стоит более ранняя версия, не расстраивайтесь. Да, меню будет выглядеть немного иначе, но ваша задача – найти вкладку “Вставка” или “Вставить”.

Затем нажмите на слово “Таблица”. Перед вами появится выпадающий список, при помощи которого можно:

  • в 1 клик начертить пустую таблицу максимального размера 10 × 8 ячеек, затем ее можно увеличить, об этом я расскажу немного позже;
  • создать нужное количество строк и ячеек;
  • нарисовать объект любого формата по своему желанию;
  • преобразовать уже набранный текст в табличный формат;
  • открыть прямо в Word редактор Excel и работать в нем, если это привычно и удобно для вас;
  • воспользоваться готовыми шаблонами, предусмотренными программным продуктом, или создать свои.

Сейчас мы рассмотрим каждый из этих способов отдельно.

Выпадающее меню

Быстрое создание простой таблицы

Самый легкий способ – это отметить в выпадающем меню поле, в котором квадратики по вертикали означают количество строк, а по горизонтали – столбцов. Таким образом, если мы выделяем область 3 × 4, то получаем таблицу из 12 одинаковых ячеек, готовую к заполнению.

В дальнейшем ее можно увеличить, уменьшить и изменить размеры строк и столбцов. Как это сделать, смотрите в разделе о редактировании.

Быстрое создание массива

Второй простой способ

Снова идем в меню и выбираем “Вставить таблицу…”.

Создание нового объекта

В выпавшем окошке можно выбрать любое количество строк и столбцов, а также настроить ширину ячеек:

  • фиксированную;
  • по содержимому, чтобы размеры подстраивались под самый длинный текст;
  • по ширине окна, тогда таблица будет занимать всю область: от левого до правого края листа.

Если вы поставите галочку внизу, то в следующий раз редактор предложит создать точно такой же объект, что удобно, если вам нужно несколько одинаковых массивов.

Пример настроек

Рисуем таблицу

На мой взгляд, это самый трудный способ, его стоит использовать в редких случаях, когда нужно составить сложную таблицу необычной конфигурации или когда у вас уйма времени, и хочется поэкспериментировать.

Выбираем в меню соответствующий пункт.

Еще один способ создания массива

Теперь ведем карандашом и рисуем рамку, а затем ячейки. На мой взгляд, тут удобно “чертить” вертикальные, горизонтальные и даже диагональные линии и создавать свой макет, но вы можете творить, как вам захочется.

В процессе рисования в основном меню откроется вкладка “Макет”. Опции на этой панели позволяют быстро добавлять одинаковые ячейки, объединять их или разделять. Подробнее обо всех возможностях редактирования любой таблицы в Microsoft Word я расскажу чуть позже.

Преобразование текста в таблицу

Эта функция может стать довольно удобным инструментом для тех, кто привык быстро набирать текст и не хочет тратить время на заполнение полей. Также вы можете его использовать, когда переносите данные с распечатанного листа и книги в компьютер или просто не любите таблицы, но делать их приходится.

Чтобы все получилось, содержимое каждой ячейки пишите по одному из принципов:

  • с новой строки;
  • через точку с запятой;
  • со знаком табуляции, то есть нажимая клавишу Tab на клавиатуре;
  • через любой выбранный вами символ.

Главное, не запутаться и по порядку сверху вниз и слева направо, то есть по строчкам, выписать все данные с использованием выбранного разделителя. Я чаще всего выписываю содержимое новой графы, нажимая Enter, так проще не запутаться и проконтролировать количество данных.

Затем выделяем набранный текст, идем в меню и выбираем пункт “Преобразовать в таблицу…”.

Пример работы функции

В появившемся окне выбираем нужное количество столбцов, строки программа установит сама. Затем говорим редактору, как подобрать оптимальную ширину ячеек, и какой символ отделяет их содержимое в конкретном случае. Нажимаем кнопку “ОК” и получаем готовую и уже заполненную форму.

Пример заполнения параметров

Создаем таблицу Excel в текстовом документе

Чем интересен Excel? В нем есть формулы, возможность фильтровать и упорядочивать информацию, делать простые и сложные расчеты, рисовать графики, чего нет в Word. Поэтому если нам нужно что-то посчитать и внести данные в текстовый документ, мы открываем меню и выбирайте соответствующую опцию.

Добавление таблицы Excel в Word

Перед нами появляется объект из 10 строк и 7 столбцов и меню редактора таблиц от компании Microsoft. Работать с ним так же легко и приятно, как с обычным массивом в Excel.

Когда вы сделали нужное редактирование данных, можете продолжать работу над документом, переключив курсов за пределы таблицы. Чтобы вернуться и изменить содержимое, нужно 2 раза нажать на объект левой кнопкой мыши.

Использование заготовок

В Word есть шаблоны, которые могут вам пригодиться. Чтобы воспользоваться ими, в меню выберите строку “Экспресс-таблицы”. Перед вами появится список заготовок, можете взять подходящую и внести свою информацию.

Использование шаблонов

Но главная фишка в том, что вы можете добавить уже готовую таблицу в заготовки, чтобы использовать ее в следующий раз. Это очень удобно, когда нужно создавать однотипные объекты в разных документах.

Чтобы применить функцию, вставьте таблицу, заполните заголовки или всю информацию в зависимости от ваших целей, затем наведите курсор на пункт меню “Экспресс-таблицы” и кликните левой кнопкой мыши по самой нижней строке с рисунком дискеты слева.

Сохранение шаблона

Редактирование

После создания таблицы ее в любое время можно заполнить и изменить. Чтобы сделать это, кликните по ней левой кнопкой мыши и в основном меню программы зайдите в панель “Макет”.

Изменяем свойства таблицы

В самом левом углу мы видим 3 пункта:

  • Выделить,
  • Отобразить сетку,
  • Свойства.

При помощи первой опции можно создать выделение нужной области для дальнейшего редактирования. Это может быть 1 ячейка, столбец, строка, в которой в данный момент находится курсор мыши либо вся таблица.

Сетка нужна, если вы убрали границы между элементами, а точнее, скрыли их. Вот так выглядит табличка, в которой нет линий между столбцами.

Пример объекта Word

А вот так она будет отображаться с применением сетки.

Пример работы опции

Видите, появились пунктирные разделители? Теперь проще разобрать структуру данного массива.

В свойствах вы можете:

  • изменить ширину таблицы, строк, столбцов и ячеек;
  • настроить положение объекта на листе;
  • разрешить или запретить перенос на другую страницу;
  • выровнять текст по центру, верхнему или нижнему краю;
  • добавить альтернативный текст, чтобы графы не были пустыми.

Настройка свойств

Удаление и добавление элементов

Это одна из самых нужных функций при работе с массивом данных. Поставьте курсор мыши на ячейку и нажмите на кнопку “Удалить”.

В выпавшем списке выберите, что именно нужно убрать:

  • одну графу,
  • весь столбец,
  • строку,
  • таблицу.

Удаление данных

Когда вы убираете одну ячейку, то программа предлагает варианты, как это сделать:

  • сдвигая данные влево или вверх;
  • удаляя целиком строку или столбец.

Если вы применяете первый вариант, то в выбранной строке или столбце станет на 1 графу меньше, чем в остальных. Вот как это выглядит на практике.

Удаление элементов со сдвигом

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

Примечание: Чтобы добавить несколько строк, выделите столько же ячеек по горизонтали или вертикали.

Добавление элементов

Другие настройки

Также вы можете:

  • объединить или разделить выделенные ячейки или отделить одну часть таблицы от другой;
  • настроить ширину и высоту строк и столбцов;
  • выровнять текст по одному из краев ячейки или по центру;
  • задать поля;
  • применить сортировку или математические формулы к содержимому.

Все эти настройки перед вами, испытайте их, чтобы научиться быстро редактировать нужные параметры.

Также вы можете менять месторасположение таблицы. Для этого наведите на нее мышку и тяните за крестик в левом верхнем углу. Другой способ: выделите объект, нажмите комбинацию клавиш “Ctrl + X”, переместите курсор в нужное место и воспользуйтесь кнопками “Ctrl + V”.

Перетаскивание объекта

Изменение внешнего вида

Вы можете не только редактировать элементы и таблицу целиком, но и изменять их внешний вид. Для этого кликните по объекту и перейдите в пункт меню “Конструктор таблиц”.

  • использовать готовые шаблоны, которые видны на скриншоте выше;
  • раскрашивать ячейки в любой цвет;
  • изменять внешний вид границ, добавлять и убирать их.

Сделайте свой документ еще более красивым и удобным для чтения при помощи этих функций.

Таблицы в Google Документах

А вы знаете, что есть альтернатива текстовому редактору Microsoft Word? Это Google Документы, которые хранятся в интернете. Создавать их может любой человек, у кого есть аккаунт в Google.

Главное удобство: работать над одним документом можно с разных компьютеров и давать доступ другим пользователям для просмотра и редактирования данных. В последнее время я пользуюсь этим редактором чаще, чем Word. Попробуйте, может, и вам понравится.

Здесь есть большинство самых востребованных функций. Чтобы вставить таблицу, нужно нажать на слово “Вставка” в верхней панели, выбрать соответствующее действие из списка и выделить желаемое количество строк и столбцов.

Новый объект

Заключение

Мы разобрали несколько способов сделать таблицу в Word, узнали, как заполнить ее, отредактировать и оформить. Я надеюсь, что эта инструкция помогла вам, а если возникли трудности, то напишите об этом в комментариях. Я постараюсь помочь.

Сохраняйте статью в закладки, ведь с первого раза бывает сложно запомнить последовательность действий. Подписывайтесь на новые материалы iklife.ru, вместе с нами вы легко освоите работу программ, сервисов и сайтов и станете уверенным пользователем ПК, телефона и интернета.

Всего доброго. До новых полезных встреч, друзья.

Как преобразовать текст в таблицу и таблицу в текст в Word 2010 и выше?

При работе с таблицами и текстом часто возникает необходимость выполнить преобразование таблицы в текст Word или наоборот. Поэтому предлагаем рассмотреть способы, как выполнить преобразование таблицы в текст в Ворде или текста в таблицу.

Для того, чтобы преобразование в Ворде было выполнено корректно, стоит выключить отображение скрытых элементов. Для этого в редакторе нажимаем «Главная», выбираем значок «Отобразить все знаки».

Теперь, когда мы видим, как расположен текст, убираем лишние пробелы и расставляем точки, запятые, которые укажут на границы в таблице. Рекомендуем воспользоваться знаком абзаца (Tab).

Далее, чтобы преобразовать текст в таблицу, нужно выделить его.

Выделив текст, нажимаем «Вставка», «Таблица», «Преобразовать в таблицу».

Появится небольшое окно. Указываем число столбцов, их ширину и отображаем знаки табуляции.

Получится такая таблица.

ВАЖНО! Если вы разделение слов делаете как мы посоветовали, с помощью знака абзаца, то Word автоматически правильно подберет количество столбцов.

Преобразование таблицы в текст в Ворде выполняется значительно проще. Единственный недостаток после такого преобразования – ручное редактирование текста.

Для того, чтобы из таблицы сделать текст, стоит выполнить следующее:

  • Выделяем таблицу, которую нужно преобразовать в текст.
  • На панели инструментов появится раздел «Работа с таблицами». Выбираем «Макет».
  • Нажимаем на кнопку «Преобразование в текст».
  • Получится простая таблица. В данном случае мы получим исходящий вариант.

Таким образом, используя простые методы, которые разработаны самой компанией Microsoft, можно правильно и быстро преобразовать текст в таблицу или таблицу в текст, не прибегая к использованию стороннего софта.

Преобразование текста в таблицу или таблицы в текст

Для преобразования текста в таблицу или наоборот щелкните знак абзаца Показать или скрытьна вкладке Главная, чтобы увидеть, каким образом текст расположен в документе.

На вкладке

Преобразование текста в таблицу

Чтобы отметить границы столбцов, в которых вы хотите расположить текст, вставьте знаки разделения, например запятые или знаки табуляции.

Примечание: Если в тексте есть запятые, в качестве разделителей используйте знаки табуляции.

Обозначьте границы строк будущей таблицы с помощью знаков абзаца.

В следующем примере с помощью знаков табуляции и абзаца текст разбивается на таблицу с 3 столбцами и 2 строками.

Выделите текст, который вы хотите преобразовать, а затем щелкните Вставка > Таблица > Преобразовать в таблицу.

На вкладке

В окне Текст в таблицу задайте параметры.

Отображается диалоговое окно

В разделе Размер таблицы убедитесь в том, что указанные числа соответствуют требуемому количеству столбцов и строк.

В разделе Автоподбор ширины столбцов выберите вид таблицы. Word автоматически подбирает ширину столбцов таблицы. Если вам нужны столбцы другой ширины, выполните одно из перечисленных ниже действий.

Задать ширину всех столбцов

В поле Фиксированная ширина столбца введите или выберите необходимое значение.

Изменить размер столбцов в соответствии с шириной текста в каждом столбце

Автоподбор по содержимому

Автоматически менять размер таблицы при изменении ширины доступного пространства (например, режим веб-документа или альбомная ориентация)

Автоподбор по ширине окна

В разделе Разделитель текста выберите использованный в тексте знак разделителя.

Нажмите кнопку ОК. Преобразованный в таблицу текст должен выглядеть подобным образом:

Преобразование таблицы в текст

Вы выберите строки или таблицу, которые нужно преобразовать в текст.

На вкладке Макет в разделе Данные нажмите кнопку Преобразовать в текст.

На вкладке

В окне Таблицу в текст в разделе Разделитель выберите знак разделения, который будет использоваться вместо границ столбцов. Строки будут разделены знаками абзаца.

Скрипт

5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

1

09.11.2012, 18:15. Показов 8873. Ответов 8

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

В Excel, например, можно диапазон ячеек сразу поместить в массив:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Procedure_1()
    
    Dim vArray() As Variant
    
    'При таком создании массива всегда формируется двумерный массив,
    'даже если поместить в массив A1:A2.
    vArray() = Range("A1:B2").Value
    
    'Чтобы увидеть результ: View - Immediate Window.
    Debug.Print vArray(1, 1)
    
End Sub

Как сделать что-нибудь подобное в программе Word с таблицей?

Если по каждой ячейке идти, то код будет очень долго работать. Надо сразу получить как-то всю таблицу, чтобы потом её анализировать. С большими таблицами вообще долго работать в программе Word с помощью VBA.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

09.11.2012, 18:15

Ответы с готовыми решениями:

Как вычислять значения вне таблицы WORD, с использованием данных из таблицы WORD
Ув. прпограммисты, подскажите пожалуйста, как вычислять значения вне таблицы WORD, с использованием…

Из таблицы сформировать массив
Здравствуйте! Помогите, пожалуйста, с запросом. Есть таблица с тремя колонками DateTime, Name,…

Как автоматически сформировать все таблицы из t1, по найденным значениям из таблицы t2
Добрый день, нужна помощь!

В архиве Пример.rar (http://zalil.ru/32567045) база db1 и два…

Сформировать и вывести на экран в виде таблицы массив
хелп плиз, заранее благодарю))

объясните мне почему все рандомные цифры одинаковые, и как это…

8

Модератор

Эксперт функциональных языков программированияЭксперт Python

34709 / 19230 / 4040

Регистрация: 12.02.2012

Сообщений: 32,197

Записей в блоге: 13

09.11.2012, 21:01

2

Лучший ответ Сообщение было отмечено как решение

Решение

Боюсь, что с Word-ом все именно так, как Вы пишете… Word не приспособлен для таких штук.



3



5561 / 1367 / 150

Регистрация: 08.02.2009

Сообщений: 4,107

Записей в блоге: 30

12.12.2012, 17:22

3

А если в бой ввязаться?! Преобразовать таблицу в текст, а затем сплитом его, сплитом!



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

12.12.2012, 18:12

4

Может, скопировать таблицу, вставить в Excel (как текст, чтобы быстрее), и оттуда взять в массив?



0



Catstail

Модератор

Эксперт функциональных языков программированияЭксперт Python

34709 / 19230 / 4040

Регистрация: 12.02.2012

Сообщений: 32,197

Записей в блоге: 13

12.12.2012, 19:28

5

Цитата
Сообщение от Скрипт
Посмотреть сообщение

Если по каждой ячейке идти, то код будет очень долго работать

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

А если в бой ввязаться?!

— если бы я решил ввязаться, то сначала бы ответил себе на вопрос: «очень долго» — это сколько?

этот код (для таблицы 200*5)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Fill_Table()
Dim tbl As Table
    Debug.Print Time
    Set tbl = ThisDocument.Tables(1) ''' [200*5]
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            tbl.Cell(ii&, jj&).Range.Text = CStr(ii& * jj&)
        Next jj&
    Next ii&
    Debug.Print Time
End Sub

проработал на моей машине за 8 сек. Это много?



1



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

12.12.2012, 19:32

 [ТС]

6

Catstail, у меня были ситуации, что код с большой таблицей минут 15 работал. Но это было давно.
Я по старой памяти помню, что долго каждую ячейку просматривать.

А может я обрабатывал ячейки: границы делал. Точно уже не помню.



0



Модератор

Эксперт функциональных языков программированияЭксперт Python

34709 / 19230 / 4040

Регистрация: 12.02.2012

Сообщений: 32,197

Записей в блоге: 13

12.12.2012, 19:40

7

Цитата
Сообщение от Скрипт
Посмотреть сообщение

А может я обрабатывал ячейки: границы делал.

— а чтобы установить границы, лучше, наверное, выделить нужный диапазон ячеек и применить к нему нужный стиль границы. Хотя я не пробовал…



0



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

12.12.2012, 19:50

 [ТС]

8

Catstail, на данной момент нет задач с таблицами в программе Word, поэтому не хочется выдумывать ничего. Когда появится задача, тогда можно и подумать, что и как.



0



Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

12.12.2012, 22:05

9

Ради интереса попробовал читать из таблицы Word в массив двумя способами: по ячейкам и через Excel.
Цель — получить в массиве именно числа. Проблема в том, что текст каждой ячейки заканчивается символами Chr(13) & Chr(7), которые приходится обрезать.
Через Excel получается гораздо быстрее, если он открыт. Но если придется запустить Excel — это добавит секунды, а не минуты.

Цитата
Сообщение от Sasha_Smirnov
Посмотреть сообщение

Преобразовать таблицу в текст, а затем сплитом его, сплитом!

Тоже неплохо получается!

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub Fill_Table()
Dim tbl As Table
Dim t!, ii&, jj&, s$, w$(), i&
ActiveDocument.Range.Delete
    Set tbl = ActiveDocument.Tables.Add(Selection.Range, 200, 5)
    t = Timer
    Set tbl = ThisDocument.Tables(1) ''' [200*5]
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            tbl.Cell(ii&, jj&).Range.Text = CStr(ii& * jj&)
        Next jj&
    Next ii&
    Debug.Print "fill table", Timer - t
    ReDim v(1 To tbl.Rows.Count, 1 To tbl.Columns.Count)
    t = Timer
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            s = tbl.Cell(ii&, jj&).Range.Text
            v(ii, jj) = CDbl(Left$(s, Len(s) - 2))
        Next jj&
    Next ii&
    Debug.Print "read table", Timer - t
    t = Timer
    tbl.Range.Copy
                        'Excel должен быть запущен!
    With GetObject(, "excel.application").workbooks.Add(-4167).sheets(1) 'xlwbatworksheet
        .PasteSpecial "Текст", False, False
        v = .usedrange.Value
        .Parent.Close 0
    End With
    Debug.Print "Excel", Timer - t
    t = Timer
    w = Split(tbl.Range.Text, Chr$(13) & Chr$(7))
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            v(ii, jj) = CDbl(w(i))
            i = i + 1
        Next jj&
        i = i + 1 'пустой столбец, который всегда есть справа от таблицы
    Next ii&
    Debug.Print "Split table text", Timer - t
Stop    'проконтролировать содержимое v!
End Sub

Результат

Код

fill table     2,671875 
read table     2,015625 
Excel          0,296875 
Split table text             0,640625



3



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

12.12.2012, 22:05

9

Sub Fill_Table()
Dim tbl As Table
Dim t!, ii&, jj&, s$, w$(), i&
ActiveDocument.Range.Delete
    Set tbl = ActiveDocument.Tables.Add(Selection.Range, 200, 5)
    t = Timer
    Set tbl = ThisDocument.Tables(1) ''' [200*5]
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            tbl.Cell(ii&, jj&).Range.Text = CStr(ii& * jj&)
        Next jj&
    Next ii&
    Debug.Print "fill table", Timer - t
    ReDim v(1 To tbl.Rows.Count, 1 To tbl.Columns.Count)
    t = Timer
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            s = tbl.Cell(ii&, jj&).Range.Text
            v(ii, jj) = CDbl(Left$(s, Len(s) - 2))
        Next jj&
    Next ii&
    Debug.Print "read table", Timer - t
    t = Timer
    tbl.Range.Copy
                        'Excel должен быть запущен!
    With GetObject(, "excel.application").workbooks.Add(-4167).sheets(1) 'xlwbatworksheet
        .PasteSpecial "Текст", False, False
        v = .usedrange.Value
        .Parent.Close 0
    End With
    Debug.Print "Excel", Timer - t
    t = Timer
    w = Split(tbl.Range.Text, Chr$(13) & Chr$(7))
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            v(ii, jj) = CDbl(w(i))
            i = i + 1
        Next jj&
        i = i + 1 'пустой столбец, который всегда есть справа от таблицы
    Next ii&
    Debug.Print "Split table text", Timer - t
Stop    'проконтролировать содержимое v!
End Sub

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Еще…Меньше

Функция МАССИВВТЕКСТ возвращает массив текстовых значений из любого указанного диапазона. Она передает текстовые значения без изменений и преобразует нетекстовые значения в текст.

Синтаксис

МАССИВВТЕКСТ(массив, [формат])

Аргументы функции МАССИВВТЕКСТ описаны ниже.

Аргумент

Описание

массив   

Массив, возвращаемый в виде текста. Обязательный.

формат   

Формат возвращаемых данных. Необязательный. Это может быть одно из двух значений:

0   По умолчанию. Краткий формат, удобный для чтения. Возвращаемый текст аналогичен отображаемому в ячейке, к которой применено общее форматирование.

1   Строгий формат, включающий escape-символы и разделители строк. Создает строку, которую можно анализировать при вводе в строку формул. Заключает возвращаемые строки в кавычки, кроме логических значений, чисел и ошибок.

Примечания: 

  • Краткий формат возвращает список значений внутри одной ячейки, а строгий формат возвращает массив того же размера и формы, что и у входных данных.

  • Если формат имеет значение, отличное от 0 и 1, функция МАССИВВТЕКСТ возвращает значение ошибки #ЗНАЧ!.

Примеры

Скопируйте данные примера из таблицы ниже и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Примечание      Чтобы преобразовать «Seattle» в связанный тип данных, выделите ячейку B3, а затем выберите data> Geography.

Данные

ИСТИНА

#ЗНАЧ!

1234.01234

Москва

Привет

1 123,00 долл. США

Формула

Результат

=ARRAYTOTEXT(A2:B4,0)

TRUE, #VALUE!, 1234.01234, Seattle, Hello, 1,123

=ARRAYTOTEXT(A2:B4,1)

{TRUE,#VALUE!; 1234.01234,»Seattle»;» Hello»,»1,123″}

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функция ЗНАЧЕНИЕВТЕКСТ

Нужна дополнительная помощь?

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Пробую работать с документами Word. Копирование данных в Excel.
Опять же, работает-грузится. Но через копировать/вставить. Долго.
Как можно данные Word записать в массив? Можно только значения.
В Excel: задал диапазон, массив = значениям Range.
Тут не получилось.

Прикрепленные файлы

  • проба.rar (25.53 КБ)

 

anvg

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#2

03.12.2013 18:47:38

Может так?

Скрытый текст

Или анализировать ActiveDocument.Range.Text, продумывать как разбивать этот текст для массива вывода на лист.

Изменено: anvg03.12.2013 18:48:15

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#3

03.12.2013 19:02:42

Наверное, проще. Еще не пробовал. Спасибо.

Цитата
…продумывать как разбивать этот текст для массива вывода на лист

Может, без этого?
Вопрос шире: загнать в массив, обработать-поменять-переделать-переставить. Со второй частью справлюсь, а вот как его туда заставить?

 

anvg

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#4

03.12.2013 19:21:26

Цитата
Может, без этого?
Вопрос шире: загнать в массив

Вот только как, в смысле — загнать? Такого «красивого» Range.Value, дающего массив, в Word ни для текста объекта Range, ни для ячеек таблиц. Можно, конечно, запросить у таблицы число строк/столбцов и циклом по ячейкам (ThisDocument.Tables(1).Cell(idRow, idCol).Range.Text) считать значения в массив, только сомневаюсь, что это будет будет быстрее, чем копировать/вставлять просто текст без форматирования.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Ясно. Я объектную модель Excel плохо знаю, а уж Word:)
Спасибо за разъяснения.

 

SkyPro

Пользователь

Сообщений: 309
Регистрация: 23.07.2013

#6

03.12.2013 20:13:53

Нашел здесь:

http://www.cyberforum.ru/vba/thread693224.html

Может поможет :)

Код
Sub Fill_Table()
Dim tbl As Table
Dim t!, ii&, jj&, s$, w$(), i&
ActiveDocument.Range.Delete
    Set tbl = ActiveDocument.Tables.Add(Selection.Range, 200, 5)
    t = Timer
    Set tbl = ThisDocument.Tables(1) ''' [200*5]
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            tbl.Cell(ii&, jj&).Range.Text = CStr(ii& * jj&)
        Next jj&
    Next ii&
    Debug.Print "fill table", Timer - t
    ReDim v(1 To tbl.Rows.Count, 1 To tbl.Columns.Count)
    t = Timer
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            s = tbl.Cell(ii&, jj&).Range.Text
            v(ii, jj) = CDbl(Left$(s, Len(s) - 2))
        Next jj&
    Next ii&
    Debug.Print "read table", Timer - t
    t = Timer
    tbl.Range.Copy
                        'Excel должен быть запущен!
    With GetObject(, "excel.application").workbooks.Add(-4167).sheets(1) 'xlwbatworksheet
        .PasteSpecial "Текст", False, False
        v = .usedrange.Value
        .Parent.Close 0
    End With
    Debug.Print "Excel", Timer - t
    t = Timer
    w = Split(tbl.Range.Text, Chr$(13) & Chr$(7))
    For ii& = 1 To tbl.Rows.Count
        For jj& = 1 To tbl.Columns.Count
            v(ii, jj) = CDbl(w(i))
            i = i + 1
        Next jj&
        i = i + 1 'пустой столбец, который всегда есть справа от таблицы
    Next ii&
    Debug.Print "Split table text", Timer - t
Stop    'проконтролировать содержимое v!
End Sub 

SkyPro

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#7

03.12.2013 20:51:19

Что подтверждает: быстрее и проще копировать-вставить, а уже потом над данными издеваться.
И Вам спасиба припасена :)

Понравилась статья? Поделить с друзьями:
  • Массив данных в excel формула
  • Масло mobil dte 10 excel 46 аналог
  • Массив в обратном порядке excel
  • Массив данных excel что это такое
  • Масло mobil dte 10 excel 32 аналоги