Too much of a work to try manually calculate the closest matches so I did use those functions which I have mentioned.
Choose Closest is very easy to implement if you check the scripting index example which allows edits (first argument is your value in table, second is your sample list and increase max edit count as necessary).
Edit: Here is the script used to create the table
// https://norvig.com/spell-correct.html
// https://en.wikipedia.org/wiki/Edit_distance
// https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance
// https://en.wikipedia.org/wiki/Levenshtein_distance
Names Default To Here(1);
samples = {"Port3_Currents_587", "Port1_Volt_8_Off", "PortC_Volt_12",
"PortX_Curre_589_On", "Curren_Port_1280_On", "Currents_5sd_On_Port1", "Port_Currents_587_On"};
dt = Open("$DOWNLOADS/dt_stings.jmp");
dt << clear select << Clear Column Selection;
new_col = dt << New Column("ShortestEdit", Character, Nominal);
For Each Row(dt,
matches_dif = {};
For Each({cur_sample}, samples,
edits = Shortest Edit Script(:Strings[], cur_sample);
difs = 0;
For Each({cur_edit}, edits,
If(cur_edit[1] != "Common",
difs = difs + Length(cur_edit[2]);
);
);
Insert Into(matches_dif, difs);
);
:ShortestEdit = samples[Loc Min(Matrix(matches_dif))];
);
newcol = dt << new column("ChooseClosest", character, nominal, formula(
Choose Closest(:Strings, samples, Max Edit Count(9999)) // Col Max(Length(:Strings))
));
newcol << delete formula;
-Jarmo