I am moving a site from magento to shopify and it's proving a little difficult. For the products I sell, it's necessary to give the customer a number of specifications before they purchase (colour, material, weight, RAM, etc.) In magento it was possible to create a column in the csv for each of these specifications and add the relevant information in the cells and if the cell had data it would add that the the product page and if it didn't, it would omit that data from the product page. Moving the shopify, this isn't a feature and requires me to consolidate all of this information into 1 column before upload. Doing this can of course result in a number of issues - from missing information to incorrect html input (as the information is to be in a table format).
I have provided a sample file here: https://docs.google.com/spreadsheets/d/1rFFqS20ED1S1cPCTixZm5ToyMhEow4VpVwapLj1ps38/edit?usp=sharing
The idea is for the specifications (in this case colour , material, brand and weight) to be presented in a html table format for uploading. The column 'Body HTML' shows the desired output from each of the columns A:D. If there is data in the cell from columns A:D, the corresponding E cell of the same row will show that data along with the header; if there is no data in the cell, the corresponding E cell of the same row will omit that piece of data along with the header.
To put together the pieces that you want in column E, you can use the CONCATENATE function as follows:
=CONCATENATE(s1,s2,s3,...)
Now, s1,s2,s3,... are the strings that you want to concatenate together derived from columns A to D. For each si, you use the IF function. For example, for column A:
IF(A1<>"",CONCATENATE("<td>Colour: ",A1,"</td>"),"")
which evaluates to "Colour: Red" if cell A1 is not empty, and "" otherwise.
Related
What I would like to achieve is that sellers can choose the STORE in the blue cell (either with a drop down list or by hard-typing the STORE name) and, based on the selection on the blue cell, the available POSITIONS for that particular PRODUCT and that particular STORE are show in the green cell as a drop down list.
Let's say I have an Excel workbook, which contains a worksheet with this table with products data, which is automatically imported daily from our Nav server with this layout. It has 4 columns including PRODUCT CODE, DESCRIPTION, STORE IN WHICH IT CAN BE LOCATED and POSITION INSIDE DE STORE (please, check screenshot). It contains 1.5k rows and it changes dynamically, for example, new items are added or positions are exchanged.
As you can see, the same product (PRODUCT 2) can be located in several stores (STORES 1, 2 and 3), and it can be in several locations on each store (POSITIONS 2, 3, 1 and 4).
Now I need sellers to report which of these items they pick and from where, not only the STORE but its POSITION inside the store too. They do it with another worksheet inside the same Excel workbook. It looks more or less like this (please, check screenshot).
I know the drop down list is achieved via Data Validation but I can't figure out the formula for this. I have tried several approaches like:
Array formula to return all POSITIONS in the same ROW, following this (Formula 2.): https://www.ablebits.com/office-addins-blog/2017/02/22/vlookup-multiple-values-excel/. It is quite slow to calculate on the 1.5k items and, once done, I can't figure out how to make Data Validation to look for the 4 or 5 or 10 POSITIONS returned by the array formula, which also need to be filtered by STORE (please, check screenshot for the closest that I have been, array formula returning POSITIONS from column E).
Same formula as above directly on the Data Validation list box, which returns only the first POSITION found.
VBA custom fucntions which are not allowed in the Data Validation box.
I feel comfortable with both Power Query and VBA, and forumla as well, and can adapt most of the code I see but I don't know why I just can't figure out how to achieve this, maybe it is only I am blocked or something but every path I start to follow ends up in a dead end.
Does anyone have an idea on how to approach this? It doesn't really seem that complicated but it is becoming impossible for me.
Thank you very much for your time!!
This is what I have finally done, just in case someone else is facing this situation.
Instead of a plain-text table for the POSITIONS, I created a PowerQuery importing that CSV. Named that worksheet _LOCATIONS.
Added a custom column (Column E) combining the PRODUCT and the STORE so I had something like a Unique Identificator, resulting something like this but in PowerQuery.
Combined column:
Sorted column E and sub-sorted column D, so I make sure the list will always be ordered as I need, and saved the query.
Then, in worksheet REPORT, I entered this formula to create the drop down list in Data Validation in cell D2:
OFFSET(_LOCATIONS!$D$1,MATCH($A2&"-"&$C2,_LOCATIONS!$E:$E,0)-1,0,COUNTIF(_LOCATIONS!$E:$E,$A2&"-"&$C2))
And I am able to choose from the available POSITIONS for the selected PRODUCT in the selected STORE.
Brief explanation:
I set the reference for the OFFSET function in the very first POSITION (D1), and then I move it the amount of rows detected by the MATCH function (which searches for the "PRODUCT 2-STORE 2" string in the newly created combined column) minus 1 (PoweryQuery table has headers) and 0 columns. This leaves me on the first occurrence of my string (but on the POSITIONS column). Then I make the offset as high as the amount of rows detected by the COUNTIF function (which counts all occurrences of my PRODUCT-STORE pair), returning an array of all the positions (column D) matching the PRODUCT-STORE pair.
Ask for formula in Spanish if you need it.
I have a database tab which holds all my information for each item in my inventory. This is always changing as I add new inventory. I want to take certain information in that tab (columns A & B) and use it in a separate tab called stock inventory in columns A & B. When it transfers I would like a blank cells in columns C,D,E, and F. I did try VLOOKUP however, because column A on the database tab is repeated, when the information was transferred to the stock inventory tab it duplicated information instead of actual information. For example Column A may say "Scale" column B may say "abalone, there may be a second entry with the same information in column A but different information in column B. When it transfers to the stock inventory tab anytime it recognizes "scale" in the column A it would say Abalone. This is not what I want. I want to bring over actual information for column B even if column A is the same. Any help is appreciated.
To solve the problem of the repeated value in the VLOOKUP you could create helper column on the left of the first vlookup matrix column, with the formula =ROW()&A2, and use this value as key to be searched with vllokup instead of the value in A1: there will be no duplicates, as the value will be the concatenation of the row number and the name of the article.
Need advice on the following; Thanks in advance.:
Excel, the visual description of the issue
Further description of the issue:
certain Product code = certain Product name of certain Size.
The help-table on the attached image shows that a certain product code = what product name of what size, as a guide.
This is what I try to do. This is what my question is: How to achieve:
Manual entry in cells of column A should trigger automatically filled content in cells of columns B and C based on the content of A and based on the dependencies described in the help-Table.
Edited: As the user proceeds adding new records in new rows, the appropriate columns (B and C) should "fill itself" automatically as soon as there's an entry in the same row in column A. This automatically filled content in column C and B depends on what is the content of column A as can be seen on the attached image("help-table"). And all this should work without me using a formula in columns B and C.
So far I used an "IF" formula which is not practical for many possible product codes.
A formula is also impractical as its usage requires the formula to be copied to next row, which I want to avoid. I want the set rule to be applied to a whole column.(for example as the data validation or conditional formatting work in excel)
It would be ideal to use it in a way like the conditional formatting works, but in this case it should work with values(content) instead of colors and should be applicable for an entire column without a need of copying to the next row. That means I'd like to avoid macros or VBA if possible, just want to use built in features.
I already use Defined names and Data validation for columns A,B and C which works for me as a choice list and also to control column B and C for allowed entries only, so their content is not mistyped and has the strict format needed. Excel 2010 -if that matters.
Important: there will be 1000's of rows added, I just made a short description above
Formula for cells in column B:
=IF(A2=10,"prod1",IF(A2=20,"prod1",IF(A2=30,"prod2",IF(A2=40,"prod2",""))))
Formula for cells in column C:
=IF(A2=10,"50",IF(A2=20,"75",IF(A2=30,"10",IF(A2=40,"50",""))))
Also tried a CSE formula for the entire column B or C like follows (but the file size was couple of MB which is not desired):
=IF(A:A=10,"prod1",IF(A:A=20,"prod1",IF(A:A=30,"prod2",IF(A:A=40,"prod2",""))))
If the entry in column A will be only 10,20,30 and 40 then use OR formula in column B
=IF(OR(A2=10,A2=20),"prod1","prod2")
In Column C we can reduce two IF
=IF(A2=20,"75",IF(A2=30,"10","50"))
And regarding the file size please save it in binary format. Hope this will help :)
We sell our product via a number of different retailers. These shops send us reports of what they have sold and we need to import this into our new stock management system as a master file.
The stores do not and will not provide the data in a uniform way based on our desired template.
I therefore need a way of consolidating ranges of data that without having a unique ID for each line, with minimal manual formatting from the data importer to help save time.
http://s14.postimg.org/arslbnnxt/excelconsolidation.jpg
As you can see in the 2 examples above, nothing is in the same order and some of the supplied fields haven't been used. The column headers are static, only the data is actually pasted.
I've tried using the Excel Data consolidation tool but the SUM function just wants to add everything up or simply reports a single value, I've played with Vlookup but I then need to dedicate a number of rows to each store which results in lots of empty rows.
If you can point me in the right direction I'm more than happy to research the tool or function I need, web searches keep bringing me back to the consolidation tool.
Many thanks,
Since you say that column headers are static, you actually do have a unique ID.
The task can be accomplished by using HLOOKUP with Column headers as lookup value.
However, the formula will depend on how you organize or store input sheets from different stores.
Here I have tested a setup where each store input is pasted in consecutive sheets starting from 'Sheet1'. i.e. Store1 in Sheet1, store2 in Sheet2 ... with row 1 containing header.
Then in consolidated sheet using helper columns for identifying sheet and row number, the formulas look like this
in A2 =IFERROR(HLOOKUP(A$1,INDIRECT("Sheet"&$H2&"!A:O"),$I2,0),"")
in H3 =IFERROR(IF(INDIRECT("Sheet"&H2&"!A"&I2+1)="",H2+1,H2),"") (if no more records, increment sheet number)
in I3 =IFERROR(IF((H3-H2)=0,I2+1,2),"") (if sheet number changed, reset row number to 2)
Initial value for H2 = 1 , I2 = 2
Test file: Storefile
I have a table series of tables with 3 columns which record the location of items. Eg table A, A1, A2.... B, B1 etc. etc.:
Each table contains the following columns:
Customer eg. 2. Description and 3. Spec. Number
I recently audited the physical shelves and created the same table alongside the old table in an excel spreadsheet. This new table only has data in the spec. Number column and contains less entries as some of the items on the shelf have been removed. The tables are not aligned on the same rows. i.e. not directly across from each other.
What I would like to do is create a formula to find for example spec number 12345 in the old table and copy the customer and description in the old table which is in the 2 cells to the left of the spec number into the two cells to the left of the new table I have for 12345?
This is fairly complicated but I would think is doable? This is a screen grab of what I am trying to do:
As you can see 4780 was in the shelf when I did the stock take and I only took down the spec. number to be quick. Now I want to copy the customer and print design details over from the 4780 in the table on the left automatically and do this then for the rest of the spreadsheet if possible.
Seems:
=INDEX(B:B,MATCH($J4,$D:$D,0))
met the requirements, copied one cell to the right and both formulae then copied down to suit. OP's image does not show sheet headings, but the positions assumed by the above formula are:
So the formula looks for the J4 value (4780) in ColumnD and if found the MATCH function returns the row number concerned, that then is taken by the INDEX function to determine the relevant cell in ColumnB from which to output the content.
The third parameter in MATCH is 0 to require exact matching only.
The #N/A results could be suppressed by wrapping the formula in IFERROR.