" I want the formula to look back to the source document and, if the "cost per ounce" (column D) of "butter" (column A) which was on line 204 originally, and the "butter" line is now on line 105, I want the formula to follow to the new line of the source document."
Let's compress that 'want' statement to a simple statement of the end goal:
"I want the formula to look to the source document, find "cost per ounce"of "butter" , and return it to this cell "
What Badunit is suggesting is that you can find the cost per ounce of Butter on whatever 'line' (actually 'row') it is on using the inventory list as a Lookup Table, then using MATCH to find "butter" in column A and INDEX to return the price per ounce number from that row of column D.
IF MATCH is told what to look for ( the text "butter") and where to look for it (Column A of the source table) it will find that value ("butter") and report it's position in Column A to INDEX.
INDEX then follows its instructions: bring back the value in the cell at 'this position' in column D of the source table, returns the price per ounce of butter to the cell containing the formula.
If 'butter' (and its price per ounce) have been moved to a different row of the source table when it's price is again needed, MATCH does the same job it did before, and returns the new position. Index looks in the new position and brings back the price from that row.
Regards,
Barry