You could also turn it into a function if you need to use it multiple times.
Here is one example:
- Function
 - Uses regex to filter down to the columns of interest
 - Requires JMP16 due to Filter Each
 - Uses Loc() and matrix calculations
 - Creates new column delta with the values
 
Names Default To Here(1);
//example datatable
dt = New Table("Untitled",
	Add Rows(5),
	Compress File When Saved(1),
	New Column("Column 1",
		Numeric,
		"Continuous",
		Format("Best", 12),
		Set Values([1, 0, 0, 1, 0]),
		Set Display Width(55)
	),
	New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([0, 2, 3, 0, 0])),
	New Column("Column 3",
		Numeric,
		"Continuous",
		Format("Best", 12),
		Set Values([0, 3, 0, 0, 0]),
		Set Display Width(87)
	),
	New Column("Column 4", Numeric, "Continuous", Format("Best", 12), Set Values([3, 0, 4, 0, 0])),
	New Column("col", Character, "Nominal", Set Values({"a", "a", "a", "a", "a"}))
);
difference_between_min_max = Function({dt_ref, col_prefix_regex},
	{Default Local},
	//get columnn names of interest based on col_prefix
	col_names_all = dt_ref << Get Column Names("Numeric", "String");
	col_names_of_interest = Filter Each({val}, col_names_all, 
		!IsMissing(Regex(val, col_prefix_regex));
	);
	show(col_names_of_interest);
	//all values for columns of interest, transpose for calculations
	m = Transpose(dt_ref[0, col_names_of_interest]);
	//replace 0 with missing to avoid calculation with those
	m[Loc(m, 0)] = .;
	//Get max and min values and deduct them
	result = V Max(m) - V Min(m);
	//Replace missing values with 0 for final results
	result[Loc(result,.)] = 0;
	//we could return result matrix here OR we can create new column with the function
	dt_ref << New Column("delta", Numeric, Continuos, Set Values(result));
);
//example table in this example
difference_between_min_max(dt, "(Column )");
//example table by txnelson
//difference_between_min_max(Current Data Table(), "^(\D{1})$");
 
 
Could also turn it into Custom Function
 
					
				
			
			
				
	-Jarmo