Inventory verification in Excel, Remove entire rows for duplicates? - excel

I have been banging my head against the wall for a couple of days and can't quite figure this one out. I'm hoping someone has done this before and keep hitting a dead end. I'm trying to document a process for an end user that's not ridiculously cumbersome.
We have a mail room and use a system that allows us to receive packages and assign it to them. When they pick it up, they sign for it and it's marked as received. We run a report every Friday so we can check what is left in the mail rooms vs what the system says we should have on hand. So I have the report that shows what we have on hand and it holds the following columns:
Entry Name Room Space Receipt Date Shipping Parcel Type Tracking Number
I purchased some handheld scanners that we can scan all the tracking numbers of the packages. Once I get that into the spreadsheet, I want to remove the rows that match. This means either they were skipped when we scanned what we had in back or we gave it to someone and they didn't sign for it. But I can't figure out the best way.
So I pasted the scanned tracking numbers in the Tracking Number column and did remove duplicates, but it just removes one row. I want to delete both rows because that means that the package is in the system and on the shelf as it should be.
I also tried conditional formatting, but it's like it's not looking at the entire string and is highlighting tracking numbers that clearly aren't duplicates. :(
I don't know what else to try or if there's a formula that will remove the entire row when duplicate values are found in one cell. Any help is greatly appreciated!

Related

How do one extract information from a dynamic table, automatically through excel functions?

I have been searching high and low for a way to solve my dilemma, in different ways, so I am trying to post both of the things I've been trying to do:
The challenge version 1:
I want to extract the entire row with information tied to the name which is the latest entry of that name in the table. So from the table below I would want to collect the entire row which contains the information: "A, Jack Black, 01.01.2029, 10:20". I simply want to copy the entire row to another sheet. But one important factor is that it has to happen automatically.
So i need functions which can check if: Is there another entry with the same name, higher up in the table? If so, DO NOT COPY THE ROW. If there ain't another entry with the exact same name higher up in the table, COPY THE ENTIRE ROW, to another table, within another sheet.
The challenge version 2:
What I really want to do is count the number of unique people(unique names) per. department, and summarize this in another table. Basically this means that "Jack Black" should be counted as 1 person, in department A.
So the result I want, is a table looking like this (the one beneath), where the number of people does not contain any duplicate people (names). OR it does not function with a dynamic table, which updates the information it contains on the fly. I can make this happen if I am copying from a static table, but as stated above, the table is dynamic and updates with new information every minute...
So far i've tried excel's built in filtering, but this does not work automatically. I've also tried using functions like in this guide: https://excel-bytes.com/how-to-extract-a-dynamic-list-from-a-data-range-based-on-a-criteria-without-filters-in-excel/. However every solution i find seems to need criteria for filtering out duplicates or does not function when copying information from a dynamic table.
Does anyone know how to reach my desired result, without implementing criteria for selecting the rows or counting rows as stated above? VBA code is not an option at the moment :(
In advance, THANK YOU, I've really tried solving this, but I feel like this just might break my head wide open soon if I can't solve it. HEEEEELP!
Sincerely
haakonlu

How do you create a form to scan part numbers and auto-populate inventory amount into spreadsheet?

I am working on a log system for a machine shop and each part has a part number. I am creating an excel spreadsheet to account for the time of checkout, bin location, part #, and check out quantity. I have worked out the kinks to add a time stamp but I am still having issues with figuring out how to auto-populate the part numbers and the quantity of parts checked out (i.e. I checked out 20 ball bearings, part #-50000; check out quantity-20)
I have already done the time stamp using circular reference. My first attempt was trying to use Consolidate and I attempted to do the check out quantity using a COUNTIFS formula.
[Countifs formula][1]
=COUNTIFS(C:C, C2)
I got excel to count the number of parts scanned with the same part #, but when I use the consolidate feature and the statement below pops up. I am unsure what it means. Is there any easier way to scan 20 parts with the same part number so the check out system is similar to a grocery checkout?

Search formula for best text match among two excel lists

I have a long list of products (+20,000 items) of surgical instruments. Sometimes I receive requests for different names of these products which is impossible to manually match in my list.
I was thinking of a formula to find or suggest the closest result of match for the common words in each cell.
I have created this formula:
=INDEX('Products'!G:G,MATCH((("*"&LEFT(A2,5),'Products'!G:G,0))
(where Products G:G refers to my long list.
it gave some results correctly but more than 80% of the result came back with false results.
please see the attached image to show you the result.
is there is a way I can get more accurate result?
or I was thinking of finding major category of each item such as:
Category 1: Scissors, Retractors, Knives, etc.
Category 2: Straight, Curved, Angeled, etc.
Category 3: Sharp, Blunt, etc.
Category 4: 10mm, 130mm, 24cm, etc. (size)
which is easy for me to do it.
then use the same formula but with referring to the common words..
something like:
=INDEX(Products!G:G,MATCH("*"&LEFT(E2,5)&"*"&F2&"*"&G2&"*",Products!G:G,0))
where E2, F2, G2 refers to the categories..
I tried but it gave false results as well.
I urge you in the strongest sense of the word to spend some time creating a good quality master table and then spinning off 1 table for each category.
make use of clean(), trim(), proper(), heck, if you need to copy the data in notepad++ and enable view all symbols then switch between ansi utf utf8 wtf omgwtf or any other encoding to ensure you dont have any hidden special characters than do it.
you have 4 categories, so that's 4 1 column tables. name them. no duplicates. no trash. no junk. sort your data. nice clean names/words/whatever you categorize by. if you absolutely must add an index or key column then go ahead but do yourself a favor and stop there. use a different table to deepen your relationships.
next step is to to create comboboxes. i'm not sure why but the combobox in excel is not the same combobox in the vba editor. you want the one in the editor. you can make a fancy user form or you can make a minimalist text box design. whatever you fancy. just make sure the combobox has a field for RowSource in the properties. for whatever reason i don't get that option if i am not in the vba editor when i create the box.
you're almost gauratneed to want drawmodal = false on every user form you make for these boxes
you probably really don't need more than 4 boxes but it depends what you're doing so that's up to you. name your combo boxes.
verify each box has: matchentry = 1-fmMatchEntryComplete
i recommend: style = 0 - fmStyleDropDownCombo
this will allow you to begin typing and autocomplete the first match and also let you select from a drop down list, starting with the the first match of the name you've typed.
you can set the number of elements in the list. default is 8. if you have a slow computer than i wouldn't push it much. if you have a best then give it a shot.
you can also change fonts for easier reading and a bunch of other format changes.
now the this is the most important part - RowSource will be one of those 4 tables
now that i've given instructions, let me explain why. some businesses don't have the best practices and i'm currently with one that's using an oracle erp solution for data management but the front end isn't used. data entry is done in excel and loaded into oracle using batches. lookups in oracle continue to be a psychological barrier for the ap/ar teams so i did exactly what i suggested here but took it a few steps farther.
i pulled the vendor master and i pulled teh customer master
i cleaned the data and compiles simple pure clean 1 column tables
then i created a form for the comboboxes
first came ap with vendor name
then vendor number
then vendor remittance location
our orderering facility number
selecting a vendor name populates the vendor number box with the possible vendor numbers. same for remittance location and ordering facility
i pulled a year's worth of transaction data and created a gl table. some vendors have only ever used 1 gl acount. some several. there's a % number next to each gl. that represents the value of transactions posted from that vendor to that gl for the last year.
next up a date picker and text boxes for invoice fields.
get it nice and tight on a form, set the tab stops, add a commit button and all of a sudden we have a front end excel platform that performs better than oracle - because people use
i haven't finished the ar side but it'll get done and i'll the angels will be rejoicing and singing my name for years to come.
1:1 matching with autofill and drop down functionality you can't beat it. that's what you get with my suggestion.
best of luck!

Using COUNTIF/SUMPRODUCT

I have a worksheet that I am trying to make more automated by providing users with updates, however I am having difficulty with getting a formula to work.
I am using a semi-large table (over 32 columns of information, 1,500 rows) but really only want to focus in on 2 columns for this issue. In column C I have the dates that a service order has been requested and in column D I have information that populates when a confirmation of the request is sent (if no request is sent, then it is blank). My hope is to be able to create a message box that alerts when the workbook opens and displays the number of order requests that are within 2 weeks of today that have not yet received a confirmation.
So far, it looks like my best option is to have hidden cells elsewhere that do the heavy lifting with formulas and then to display the values within a messagebox using a Workbook_Open event. I have been able to get a formula to display the number of requests that fit my time window:
=SUMPRODUCT((Table5[Date]>=TODAY())*(Table5[Date]<=TODAY()=14))
And this appears to be capturing the numbers that I need, however I am having difficulty integrating the second component that I need: whether or not a reply was sent. So far, my attempts at including some form of an AND qualifier within the formula has returned an error... I am hoping to be able to quantify within the formula something along the lines (logically) of this:
=IF(Table5[Reply]="" AND Table5[Date]>=TODAY()+14, SUMPRODUCT)
I know that the above won't work, but I am wondering if anyone has any pointers on how to modify this so that it can include both factors?
Many thanks!
Assuming you are looking at dates that are today and up to two weeks in the future, and that the Reply column is blank "" for those dates, then these formula will work for you:
Excel 2007 or higher:
=COUNTIFS(Table5[Date],">="&TODAY(),Table5[Date],"<="&TODAY()+14,Table5[Reply],"")
Backwards compatible:
=SUMPRODUCT(--(Table5[Date]>=TODAY()),--(Table5[Date]<=TODAY()+14),--(Table5[Reply]=""))

In Excel VBA, how do I select rows containing specific values in a column and hide them?

I'm trying for the life of me to figure out Excel VBA but I've been getting nowhere.
Here's what I'm needing to do:
Have a list of thousands of entries - each one corresponding to a ticket for a customer. Columns include information like client name (Column B), # of minutes worked on per ticket (Column I), etc.
We're trying to make a macro that totals the # minutes of worked on for all tickets of a specific client in a new row directly below, then hide all of those rows.
The end result should be only seeing a row containing "Total -client name here-" in the name column, then the total number of minutes in the # of minutes column.
The previous macros I've done aren't dynamic and were done via recordings within excel (which obviously don't work the way I wanted to, apparently).
Programming isn't my forte, and all this has been doing is making me want to pull my hair out. Any help?
It sounds like you'd be better off using a database like Access. You can enter all your information into a table and then write a query to find what you need. If you don't want to use Access, we'll need a better idea of what you're trying to do.

Resources