[SalesForce] Changing text field value based on formula and a picklist field, trigger

I have a CSV that is being imported in SalesForce under Contacts. There are 6 fields for training program type and a year for each one. All are in text format and the data comes from a another system. I created 2 more formula fields which basically merge all 6 into training_type and training_year and use that for reporting. So far so good. But, if I need to add an individual contact directly from SalesForce, is there a simple way to populate these 6 fields from a picklist field, without breaking the previous set up? I can't set the training_type and training_year directly as they are read only.

Example data looks like this:

    name: John Doe
    training1: ABC
    year1: 2005
    training2: blank
    year2: blank
    training3: blank
    year3: blank

I'm completely new to SalesForce and from what I can gather maybe trigger would work for this. Thanks for any ideas!

So this is what I have for training_type formula field:

    IF(AND(training2  = "DEF", training1 = "ABC" ), "ABC",
    IF(AND(training2  = "DEF", training3 = "XYZ" ), "XYZ",
    IF(AND(training1  = "ABC", training3 = "XYZ" ), "XYZ",
    IF(AND(training1  = "ABC", training2 = "" ), "ABC",
    IF(AND(training2  = "DEF", training3 = "" ), "DEF",
    IF(AND(training3  = "XYZ", training2 = "" ), "XYZ",
    "Prospect"))))))

It would basically get the value from training1,2 or 3, whichever is filled, and then set training_type to that, or a "prospect". Then I have another picklist field called "Program_c" with "ABC", "DEF" and "XYZ" text values. So I need to figure out a way to set training1,2,3 fields respectively based on that picklist. I tried a workflow that should be executed at contact update, but it doesn't work for some reason. Thanks for any help!

Best Answer

You can create picklist for year and name,then create a Workflow Rule with multiple Workflow Field Updates which will put the values from the picklist to where it is generally imported. The formula field will work as it is working for others.