I do this sort of thing frequently. First you need to create some tables which have the correct fields you need to process the orders. Make sure you have a field for recording errors. You should also have a consistent place were you save the spreadsheet and link to it. The steps are then.
1. Empty out your order tables
2. Populate your order tables with append queries using the link to the spreadsheet
3. Run additional update queries to fill in missing data
4. Then run your checking queries as update queries, that append the error name to your error field
5. If the error field is null, you can process the order into your system
6. Have query for the non-null values of the error field which can view/print/e-mail
Note that each query is run against the entire batch of orders, not against each individual order.
I actually use macros because they are easier work with I am just running a series of queries.
This an easier way of handling the matching issues. To make sure that you have a product that matches the NSN you need to do the following.
1. In your order table you need fields for NSN and product
2. You need to have table that cross references NSN's and products with a primary key of NSN
3. After you import the data with the NSN, use an update query to fill in the product from the cross reference
4. You have need a checking update query which adds "Missing Product:" to the error field when the product is null
5. You have a separate select query which pulls up all the "Missing Product" situations so you can get them added to the cross reference
You don't need to be counting NSN's. Furthermore, if an order lacks a product match, you probably want all the missing product matches, not just the first one.