Creating a Purchase Order

Hi there.

Pardon my inexperience. Please allow me to thank the contributors…priceless.

In the example are two pop-up cells: A14 and A15 representing the makings of a potential purchase order.

I wish to paste the results of the corresponding row of data of the selected item when it’s chosen from the list.

Columns F and G are not populated unless column D is populated with something greater than “0”.

I don’t know if it’s relevant but columns F and G are heavily dependent on a MIN formula across their rows for their results.

I’m creating this in Numbers but wish to export it to Excel and have not found any compatibility issues thus far....so

...is this possible without a script?

If not, is it possible to create a PO that excludes the hundreds of rows (not intending to buy) by returning a row’s data based on Column D >0?

I understand the 250 row limit to the pop-ups and will work with this issue if this query provides positive results.

Thank you for your help.


User uploaded file

MacBook Pro with Retina display, iOS 11.0.3, Numbers version 4.3.1

Posted on Feb 14, 2018 8:38 AM

Reply

Similar questions

5 replies

Feb 14, 2018 3:30 PM in response to Barry

Barry,

Thank you for responding and I apologize, the screenshot I posted was not supposed to represent my PO. I only used the curious pop-up locations while tampering with a few possible formulas without bouncing from sheet to sheet to see if they worked.


The way it is now, a user is able to change the quantity in sheet 1 and formulas result in populating the purchase amount, order# and vendor by finding the least expensive. My objective is for sheet 2 to call these as well as the item description and quantity, from sheet 1. Where I’m at a total loss is to get the PO to condense and negate the rows of items that are not being ordered. I decided (while obviously not being schooled) that the pop-ups are my solution.


The final PO is internal only - so beauty is irrelevant. If I need to hide columns in sheet 2, it’s ok if printing isn’t affected.

Simplicity is of utmost importance as several people will select the quantity (hopefully the only necessary action) in sheet 1 which brings me to the only incompatibility with Excel I've run into so far...a timestamp. I'll write ‘that’ formula into the Excel machines.


If you foresee any caveats to my endeavor, please let me know.

Again, thank you - thank you - thank you!

Marc

User uploaded file

User uploaded file

Feb 15, 2018 4:16 PM in response to MarcB

Hi Marc,

I'm going to start by giving the two tables distinct names. This avoids the necessity of including the Sheet name in every copy of every formula used to transfer data from one table to the other.


I'll name the tables according to their purposes.

Sheet 1 contains a single table we'll name Data.

Sheet 2 contains a single table which we'll name PO (as in Purchase Order).


So as I see what you've showed so far:

The way it is now, a user is able to change the quantity in "Data" and formulas result in populating the purchase amount, order# and vendor by finding the least expensive. My objective is for "PO" to call these as well as the item description and quantity, from "Data". Where I’m at a total loss is to get the PO to condense and negate the rows of items that are not being ordered. I decided (while obviously not being schooled) that the pop-ups are my solution.


You have the front sheet and its table set up the way you want it, including the generation of data in the rows where the Quantity has been set to a number greater than zero, and you want to transfer that information into a set of contiguous rows on Table 1 on Sheet 2. The Proposed timestamp, currently in column E, in the midst of each row of data to be transferred is NOT to be included in the data copied to "PO". This disruption of the pattern affects several downstream formulas. I propose moving the TimeStamp to column C of Data (the first unhidden column), moving columns C and D to the right to close up the gap.


To copy the data into contiguous rows, ignoring the rows where BUY is set to less than 1, we need to have an index column containing a list if distinct values (eg. integers of increasing value) in the rows rows to be transferred, and 'blanks or zeros in rows which are not to be transferred. Two function sets which can be used to do that are VLOOKUP, or a combination of MATCH and INDEX. The biggest hangup with VLOOKUP is that it requires the search for the index values to take place in the leftmost column of the Lookup table (in this case, "Data"). MATCH and INDEX are more flexible in this regard. The search values must be placed in a single column, but there is no restriction on which column must be used. My choice would be to place it at the right edge of the table—for the example, in column M, which in the example appears to be empty.


MATCH finds the position of the search value in a list. Since the first row to potentially contain data, and the first row on "PO" to contain transferred data is row 3, we will set up the formula calculating the index values to crete 3 as the first index value in column M.


User uploaded file

Data:

Data to be transferred is placed in contiguous columns D (Item) to H (Vendor)

The iNdex formula, shown below, is in column M (Index). This column is used by the lookup formula, but not by the human users. It should be hidden. The "Index" label is not required, The value 2 in M2 is required.

Other columns not mentioned were hidden in the example posted, and do not enter into the issue discussed.


Formulas: There is one formula connected with the solution.

Entered in M3, then filled down to the last row of the table.


M3: IF(E3<1,"",MAX(M$1:M2)+1)

IF looks into the cell in 'this row' of column C. If the value in the cell is less than 1, the formula places a null string in its cell and exits. If the value in the cell is 1 or greater, IF calls MAX, which returns the greatest value in the column above this cell, adds 1 to it, and places the result in its cell.


PO:

The PO (Purchase Order is a simple list of data from the rows marked by the index formula above as 'of interest.'



The formula is entered in B3 of PO, then filled down to the last row of that column and filled right to column F, the last column of that table.


B3: IF(ROW()>MAX(Data::$M),"",INDEX(Data::D,MATCH(ROW(),Data::$M,0)))


The IF statement is a test that limits calculation of the INDEX-MATCH part to rows whose row number is less than or equal to the largest number in the index column. For rows with row numbers greater than that index value, ROW()>MAX(Data::M) returns true and the formula places a null string in its cell.


For rows whose row number is less than or equal to the maximum in column F, MATCH looks for the number in column F and returns its position in that list. INDEX takes that number and returns the value from that position in column D of Data.


As the formula is filled right, the column reference "D" increments by 1 for each column while MATCH's column reference remains fixed on "M" due to the absolute reference operator ($) placed in front of the letter.


Regards,

Barry

Feb 14, 2018 10:19 PM in response to MarcB

"If you foresee any caveats to my endeavor, please let me know."


One I can see is that Numbers is Not Excel, and Excel is not Numbers. Considering that your end product will be a spreadsheet document running in MS Excel, you could be better off to invest in MS Office Mac, which will at least avoid much of the translation errors that will occur when features not upported in one of the applications has been used in the other.


You might also give thought to using LibreOffice, or one of the other open source applications designed to better match the features of MS Excel. Steeper learning curve, though.


Regards,

Barry

Feb 14, 2018 10:33 AM in response to MarcB

Hi Marc,


What will the final 'product' (the purchase order) look like? Can you do a mock-up and provide a screen shot.

Where is "the corresponding row of data of the selected item" stored?


The usual practice would be to have this data on a separate table, and to call it up using the item name or item number entered into the PO.


The formulas are pretty straightforward, but their composition is dependent on the actual location of the data to be collected. So far, I'm not getting a clear picture of that, nor do I yet see the function of the pop-up lists or why they are positioned where they are.


Regards,

Barry

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Creating a Purchase Order

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.