I have an attribute table with one field that needs to be populated, but because there are thousands of records, I would like to know a way that it can be done somewhat automatically. The information that the field needs to be populated with is currently stored in an excel table (this can be changed if necessary). In order to populate the fields correctly there are several other fields that need to match information in the fields within the attribute table. Because there are multiple fields that need to match, I cannot get a join to work.
I would recommend saving your excel spreadsheet to a csv, export the CSV to a dbase in a file geodatabase, add a text field to the dbase and use the field calculator to concatenate the multiple fields into one standardized unique-identifying string. In the field calculator, you can use the Python parser with the expression
str(!field1!) +"-"+ str(!field2!) + "-"+ str(!field3!). Do the same in your shapefile/feature class and join on that field.
An alternative to this methodology (still with the csv converted to dbase) would be to make a query layer (http://pro.arcgis.com/en/pro-app/tool-reference/data-management/make-query-table.htm) where the expression would be
table1.field1 = table2.field1 AND table1.field2 = table2.field2 etc. You can use copy features or right click the query table/layer (if you add a shape field into the query table, it becomes a query layer with the geometries) and export the data to a feature class/shapefile for use later. The data wouldn't be permanent until you export it.