Update one column for many SharePoint list rows at once
To change one column on many rows, open the list, select Edit in grid view, and paste the new column of values over the old ones, which should change only that one column. Our advice, not a Microsoft rule: test on a copy first. The rows must be in the same order as your source data, so if they are not, use a Power Automate flow that finds each row by a key such as a name or ID and updates only that column.
The problem
You have a list with hundreds of rows. Some columns hold notes, comments or choices that people typed by hand. Now a new file arrives, such as an export from another system, and one column needs new numbers. You do not want to retype each row. You also do not want to import the file as new rows, because that would add duplicates or wipe the notes.
A Microsoft Q&A question describes this exact case: a list of staff leave hours with hand-typed comments, a new export with updated hours, and about 1,000 staff. The goal was to update one column and leave the comments alone.
Before you start: make a copy
A bulk change is hard to undo by hand. Before you paste or run a flow, save a copy of the list. See "How to back up a SharePoint list before someone wrecks it". If the list has a lot of rows and the export stops short, see "SharePoint list export to Excel fails or misses rows".
Our advice, not a Microsoft rule: test on a copy of the list with 10 rows first. To add new rows instead of changing old ones, see "Add Excel rows to a SharePoint list you already have".
Option 1. Paste a column in grid view
Microsoft's help page on adding list items says: "It's possible to copy and paste several items at once, for example from a Word table or Excel range." It also says: "Make sure all values match their column type." A Microsoft Q&A answer for the bulk update case gives the same method for one column: select the cells in the target column and paste.
Steps (exact names may differ on your screen):
- In Excel, put the new values in one column. Delete any blank cells inside it.
- Our advice, not a Microsoft rule: sort your list view and your Excel data the same way, using a column that names each row, such as a name or ID.
- Check that row 1 in Excel is the same person or item as row 1 in the list. Check the last row too. Check a few in the middle.
- Open the list and select Edit in grid view.
- Select the first cell in the column you want to change.
- Paste. The pasted values fill the cells going down.
- Look at the first, middle and last rows again.
- Exit grid view to finish.
The Microsoft Q&A answer says: "Make sure the order of the items in the List and source data where the updated values are present are same." It also says: "(I recommend doing batch wise to avoid any sync issue)." The answer gives no batch size. Our advice, not a Microsoft rule: start with 100 rows at a time, then adjust.
If a pasted value is rejected, check the column type first. Microsoft's help page says to make sure all values match their column type. Dates into a text column, or text into a number column, will not work as you expect. Microsoft's help page does not state a limit on how many rows a paste can hold.
Option 2. Use a flow that matches rows
Grid view paste depends on order. If your source file is in a different order, or has extra or missing rows, a flow is safer. The Microsoft Q&A answer calls the paste steps cumbersome and points to the Power Automate community for a flow.
Here is one way to build it. Exact names may differ on your screen.
- Put your new data in a second list, or in an Excel table stored in SharePoint or OneDrive. It needs a key column (the name or ID) and the new value.
- Create a flow. For a one-time change, a manual trigger is enough.
- Read the new data. For a second list, use Get items. For an Excel table, use the Excel Online (Business) action List rows present in a table. Microsoft says it "returns up to 256 rows by default. In order to get all rows, turn on pagination."
- Add Apply to each over those rows.
- Inside the loop, add Get items on the main list. Set Top Count to 1. Filter Query: Title eq '@{replace(items('Apply_to_each')?['Name'],'''','''''')}'. The replace part doubles any apostrophe, so a name like O'Neil still matches. Our advice, not a Microsoft rule: use a column that holds one unique value per row as the key.
- Add Update item. Set Id to first(body('Get_items_2')?['value'])?['ID']. Fill the one column you want to change. Our advice, not a Microsoft rule: if your list has a required column, fill it in this action as well.
- Run it on your 10-row test list. Open each row and check that the other columns did not change.
- Run it on the real list.
To change several columns in one pass, fill each of those columns in the same Update item action. In grid view, you can try pasting a block of two or more columns copied from Excel. Microsoft's help page says you can paste several items at once from an Excel range, but it does not say a block will paste over existing rows. Our advice, not a Microsoft rule: try it on your test list before a large run.
The 100 row limit in Get items
Microsoft's guidance says: "The default item limit is 100". It adds that if you use the default options, Power Automate returns 100 items. You can raise the limit by setting Top Count in Advanced options, up to the list view threshold of 5,000. Going past 5,000 makes the action fail and show an error. For lists with more than 5,000 items, Microsoft says to enable Pagination in the action settings, because a filter query can return no records if no item in the first 5,000 matches.
This matters here. If your list has 800 rows and you leave Get items on its defaults, only 100 rows are fetched, and only those can be updated. Set Top Count and Pagination before you run. If your source is an Excel table, the same kind of cutoff applies at 256 rows. For a full walkthrough, see "Power Automate Get items stops at 100 rows: how to get them all".
Option 3. Conditional changes
Sometimes the new value depends on a rule: set Status to "3 Done" for every row where Status is "2 In progress" and the due date has passed. A flow handles this better than a paste.
One way: Get items with a Filter Query such as Status eq '2 In progress' and DueDate lt '@{utcNow()}', then Update item inside a loop to set Status to 3 Done. The Choice values in your list must match exactly, including the number prefix. DueDate stands for your column's internal name.
The filter query uses the column's internal name. Microsoft's guidance says: "Spaces in the column name are replaced with _x0020_ (0 is numeral zero)."
What to avoid
- Do not paste when the row order is not matched.
- Do not paste into a column with a different type. Microsoft's help page says to make sure all values match their column type.
- Do not skip required columns. Microsoft's help page says you must enter information if the column label has an asterisk next to it.
- Do not run a flow on the real list before you test it on a copy.
- Do not leave Get items on its defaults. Set Top Count and Pagination.
- Do not expect grid view to attach files. Microsoft's help page says: "You can't attach a file to a list item in Edit in grid view."
- Do not run several writers on one Excel file. Microsoft's Excel connector page says users should avoid writing data to a single Excel file from multiple clients at the same time.
If paste does nothing
Some people find that paste fills only one cell. A Microsoft Q&A answer on grid view copy and paste suggests checking for rich text columns (changing them to enhanced text), checking validation rules and column settings, trying another browser or account, and clearing the cache. In that thread, Ctrl+V worked when Shift+Ins did not. The thread did not confirm a fix for every case.
When to get help
You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.
I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.
See trackers I built: Tools I built
FAQ
How do I bulk update a SharePoint list from Excel?
Paste the new column into the list in grid view if the rows are in the same order, or use a Power Automate flow that matches each row by a key.
Will pasting change my other columns?
The paste should change only the column you paste into. This is our advice, not a Microsoft rule. Test on a copy first, and check the first, middle and last rows.
Can Power Automate update a SharePoint list from an Excel table?
Yes. Use List rows present in a table, then Apply to each with Get items on a key and Update item. Turn on pagination, because the Excel action returns up to 256 rows by default.
How do I edit several columns at once in a SharePoint list?
In a flow, fill each column in the same Update item action. In grid view, you can try pasting a block of cells from Excel on a test list first. Our advice, not a Microsoft rule.
How do I bulk upload new rows from Excel?
Copy the rows in Excel and paste them in grid view, or see the guide on adding Excel rows to an existing list.
Why did my flow update only 100 rows?
Get items returns 100 items by default. Set Top Count in Advanced options, up to 5,000, and turn on Pagination in the action settings for larger lists.
Sources
- Microsoft Support, Add list items
- Microsoft Q&A, How do I bulk update details in a list while leaving some columns untouched
- Microsoft Q&A, Copy-Paste in the SharePoint list (Grid View Mode)
- Microsoft Learn, In-depth analysis into Get items and Get files SharePoint actions
- Microsoft Learn, SharePoint connector reference
- Microsoft Learn, Excel Online (Business) connector reference