Copy link to clipboard
Copied
I recently found out how useful Data Merge was on InDesign and was wondering if there's a way to make InDesign and Excel work together again like in Data Merge but for something slightly different.
We have a price list that is 100+ pages long with 2000+ products and we would love to make specific price lists for specific customers - is there a way to have InDesign read from Excel on certain codes, for example:
Code: Size: Price:
HE04050 4 x 1/2" £XX.xx
What we would like to do is change the price column for a range of different products, this will not be a single multiplication or even addition to the price (or else I'd use the GREP method of multiplying everything by X). One product could go up or down by 2 and another could stay the same, but if we have an excel sheet listed like above, is it possible to have InDesign read the code and insert the price?
I've attached one of the tables as an example from our price list.
I appreciate any help! Thanks! 🙂
This is not possible with GREP alone...
If your data was Tab separated in InDesign instead of inside a Table, you could have use a .csv list and run them as a list of query using InDesign plugin MultiFind/Change.
Or, you can use the EasyCatalog Light for this. It’s probably cheaper than having a developer write a custom script for you (maybe not).
Copy link to clipboard
Copied
Hi David.
InDesign cannot read from Excel for data merge by default. You have to export a CSV file and import this into your data merge panel in InDesign. So from the scratch theres no connection to Excel directly and InDesign cannot modify the data coming in.
Additionally you cannot modify field "A" (Price) if field "B" (Code) matches a condition (e.g. is "HE04050") in an InDesign data merge.
But there's a lot scriptable. The main question is - where do you get the prices from? If you want to change prices based on "Codes" you must have prices somewhere else with a relation to "Code". Please clarify
Copy link to clipboard
Copied
Yes sorry, whenever I mention reading from Excel I mean on a CSV Excel file, my bad!
The prices we get are from our system, and the excel sheet will be exported from the software that we used to manage stock, etc.
So could we use a script to make InDesign read a CSV file and change the prices that need changing relating to the code that's in the same row? Would there be a way to use a script and tell InDesign to, kind of, go two columns over and update the price from the CSV file?
Copy link to clipboard
Copied
Well i still don't get it. Before recommending any kind of payed software i think we should clarify this.
When should the "change the prices that need changing" happen? Manually? Then you can update the excel file. Guess that's not what you want.
Automatically? Better - but whats the price source, where's the price information listed?
Or can the price be calculated by some formula based on the code? If so can you show the formula?
Copy link to clipboard
Copied
David already told it was not a formula, some price might go up, others down.
A linked Excel file with a well structured table/cell/paragraph style could also be a solution.
Copy link to clipboard
Copied
I'm not really sure what you're asking either, sorry!
Say we have an excel sheet with a range of different prices, then we have our catalog with our net prices (prices all customers get). The prices aren't all calculated the same on the excel sheet so it wouldn't be a *change all prices to +£4* as an example. We already have the excel sheets set up with the different prices, I just need an easy and quick way to make InDesign see the excel sheet (CSV file), the codes and the prices then change the price dependant on the code. If that makes sense.
Copy link to clipboard
Copied
This is not possible with GREP alone...
If your data was Tab separated in InDesign instead of inside a Table, you could have use a .csv list and run them as a list of query using InDesign plugin MultiFind/Change.
Or, you can use the EasyCatalog Light for this. It’s probably cheaper than having a developer write a custom script for you (maybe not).