Tools·4 min read

Get contacts listed across for your CRM

Turn a one-row-per-contact list into one row per company, with each contact numbered across. Built for CRM imports that want contacts side by side.

By Operelio team

On this page5
  1. 1.The problem: your CRM wants one row per company
  2. 2.How Group across works
  3. 3.How to do it
  4. 4.Which contact becomes contact 1, and other rules
  5. 5.Frequently asked questions

The problem: your CRM wants one row per company

Most contact exports are long: one row per contact, with the company name repeated on every row. Fifty contacts at the same company means fifty rows. That's the right shape for most tools, but some CRM import templates want the opposite: one row per company, with the contacts listed across as numbered columns like Contact 1 name, Contact 1 phone, Contact 2 name, Contact 2 phone.

Rebuilding that layout by hand means sorting by company, copying each contact's details into new columns, and keeping track of which contact goes in which slot. For a few companies it's tedious. For a few hundred it's an afternoon, and one missed paste puts a contact on the wrong company's row.

The Group across mode on the Transpose / Unpivot tool builds this layout in one run.

How Group across works

You pick two things. The group column is the column whose repeated values define a group; every row that shares a value lands on the same output row. The repeating columns are the fields that vary per row, like the contact's name, phone, and email. Each row in a group becomes one numbered set in the output, in the order you picked the fields.

Nothing about the mode is specific to contacts. Group by an order number to put line items across. Group by a student to put test scores across. Group by a property to put tenants across. The example below uses contacts because CRM imports are the most common reason to need this shape.

Columns that are neither the group column nor repeating (a Website or Industry column that's the same on every row of a company) ride along from each group's first row by default. A toggle leaves them out if you only want the group column and the numbered sets.

Before: one row per contactAfter: one row per company
Company · Contact name · PhoneCompany · Contact name 1 · Phone 1 · Contact name 2 · Phone 2
Meridian · David Garcia · +44 20 7946 0101Meridian · David Garcia · +44 20 7946 0101 · Wei Chen · +44 20 7946 0102
Meridian · Wei Chen · +44 20 7946 0102Lumen Labs · Karen Wilson · +44 20 7946 0103 · (blank) · (blank)
Lumen Labs · Karen Wilson · +44 20 7946 0103

How to do it

Six steps from a long contact list to a CRM-ready layout.

1

Open the Transpose / Unpivot tool and upload your file

Drag and drop your CSV or Excel contact list. Operelio reads the columns and shows a file summary above the mode toggle.

2

Pick Group across

It's the third mode tab, next to Transpose and Unpivot. Group across requires Pro, Team, or Agency; on Free it shows a Pro chip.

3

Pick the group column

The column whose repeated values define a group. For a contact list, that's the Company column. One output row per distinct value.

4

Pick the repeating columns, in order

The fields that repeat per contact: name, phone, email. The order you pick them is the order inside each numbered set, so picking Name then Phone produces Name 1, Phone 1, Name 2, Phone 2.

5

Decide what the other columns do

Leave the toggle on to bring the remaining columns along from each company's first row, or turn it off to keep only the company column and the numbered sets.

6

Check the preview, then run

The preview shows the before and after shape, how many sets the widest group needs, and a heads-up if any group is over the cap. Click Group data across, then download the result from the results page.

Which contact becomes contact 1, and other rules

The mode is deterministic, so the same file always produces the same output. Companies appear in the order they first show up in your file, not alphabetically. Within a company, contacts number in file order: the first row in the file for that company becomes contact 1, the next becomes contact 2, and so on. If contact 1 should be the primary contact, sort your file that way before running.

Sets cap at 50 per row, so the output can't grow unreasonably wide. A company with more rows than that keeps its first 50, and the results page tells you how many rows were left out.

Rows with a blank company cell aren't dropped. They group together into one row with an empty company cell, and the results page flags how many there were so you can fix the source data if that matters.

Groups with fewer contacts than the widest one get blank cells in their unused sets. The results page counts those padded cells, so blank cells in the output are expected, not a bug.

Frequently asked questions

Which contact becomes contact 1?

The first row in your file for that company. Contacts number in file order within each company, so sort your file before running if a particular contact should be first.

What happens if a company has more than 50 contacts?

The first 50 rows for that company are kept and the rest are left out. The results page tells you how many groups were over the cap and how many rows were not included.

What happens to rows with a blank company cell?

They group together into one output row with an empty company cell, and the results page flags how many rows landed there. Nothing is silently dropped.

Does this only work for contacts?

No. The mode is generic: group by any column and lay any repeating fields across. Order line items, student test scores, property tenants, anything where several rows share a key and you want one row per key.

Can I undo it?

Your original file is never modified, so you can always go back to it. The Unpivot mode on the same tool converts a grouped-across layout back into one row per record.

What plan do I need?

Group across requires Pro, Team, or Agency. Transpose mode on the same tool is free on every plan.

Ready to get started?

Upload a file and run your first transformation. Free, no credit card required.