If needed, the [Multipart To Singlepart](http://resources.arcgis.com/en/help/main/10.1/index.html#/Multipart_To_Singlepart/00170000003r000000/) can be used to explode the soil polygons into separate areas. [Project](http://resources.arcgis.com/en/help/main/10.1/index.html#/Project/00170000007m000000/) the data, if not already projected, so that area calculations will be in a meaningful projected coordinate system. [Calculate Geometry](http://resources.arcgis.com/en/help/main/10.1/index.html#/Calculating_area_length_and_other_geometric_properties/005s00000027000000/) to update the soil polygons area field - [Add Field](http://resources.arcgis.com/en/help/main/10.1/index.html#/Add_Field/001700000047000000/) of type Double, if not already present. Ensure that the table of locations has a unique ID field to trace back to the original records (you never know when this will come in handy). [Make XY Event Layer](http://resources.arcgis.com/en/help/main/10.1/index.html#/Make_XY_Event_Layer/00170000006z000000/) from your table of locations using the X and Y fields. [Copy Features](http://resources.arcgis.com/en/help/main/10.1/index.html#/Copy_Features/001700000035000000/) to make the layer a permanent feature class. [Project](http://resources.arcgis.com/en/help/main/10.1/index.html#/Project/00170000007m000000/) to make sure that both points and polygons are in the same coordinate system. [Spatial Join](http://resources.arcgis.com/en/help/main/10.1/index.html#/Spatial_Join/00080000000q000000/) the points as target_features, polygons as join_features, with the CLOSEST match_option. Open the attribute table for the resulting output and [query](http://resources.arcgis.com/en/help/main/10.1/index.html#/SQL_reference_for_query_expressions_used_in_ArcGIS/00s500000033000000/) where the "soil_type" = "soil_type_1" (replace with actual field names in your data that represent the soil type information). Where records are selected, these should satisfy your goal of assigning attributes from both layers by distance and attribute. If the values are not exact matches you will need to edit this using UPPER or LOWER functions, or more thorough spell-checking and editing may be required. Switch Selection to identify those records that didn't work; hopefully there are only a few and they will require manual inspection/editing. If there are too many for manual methods then you might have to look at the [Generate Near Table](http://resources.arcgis.com/en/help/main/10.1/index.html#/Generate_Near_Table/00080000001n000000/) tool (requires Advanced/ArcInfo license), which will get more complicated with many more steps...