okay. This is small task but interesting one. Data is irrelevant, but requirement is kind of interesting. Let us get data out first and you can download it from here.
Now the requirement is extract certain columns from first few columns and append it to each sample column. Each sample column and the first few columns are to be extracted in individual files. Now let us say, we want to extract molwt column, total column and each sample column into individual files i.e each sample file should have sample column, mol wt column and total column. 
Now we can do this in R, python and other languages, Let us do this in R first:
===========================================
$ setwd("~/Desktop/test") # change this to directory of interest
$ fn=list.files(pattern = "\\.xls") # lists files with .xls extension
$ library(readxl)
$ library(WriteXLS)
$ for (i in fn){
    df=data.frame(read_xls(i))
    for (j in 11:ncol(df)){
        temp_df=df[,c(2,5,j)]
        WriteXLS(temp_df, ExcelFileName = paste0(sub('\\.xls$', '', i) ,"_","sample_",names(df)[j],".xls"))
    }
}
=============================================
This would create individual files for each sample and appends excel file name to the final xls file. Final excel file for each sample will have source excel file name and sample name in file name.
Now, interesting would be to do the same in shell. One obstacle is to convert xls files into files that can be handled in shell. I chose csv. User can choose tsv as well. Steps are:
  1. convert the excel file to csv
  2. extract columns from csv to another csv (output csv)
  3. Append sample and excel file names to output csv 
  4. Convert new csv (output) to excel 
  5. Delete the output csv from 2 and 3
=======================================
for i in *.xls;
    do libreoffice --headless --convert-to csv $i --outdir .;
    nf=$(awk -F"," '{print NF;exit}' ${i%.*}.csv);
    for j in $(seq 11 18);
        do nf_head=$(awk -v j=$j -F"," '{print $j;exit}' ${i%.*}.csv);
    cut -d"," -f 3,5,$j ${i%.*}.csv > ${i%.*}_$nf_head.csv;
    libreoffice --headless --convert-to xls ${i%.*}_$nf_head.csv  --outdir .;
    rm ${i%.*}_$nf_head.csv;
    done;
done
====================================