I am a supporter ofSt. Joseph's hospice. If you find this site useful or if it helped you, consider a small donation toSt. Joseph's, please. Information onSt. Joseph's
 The Iman Conover approach is a good method to generate correlated numbers. The original paper by Iman and Conover you can find here. Stephen J. Mildenhall published a very good paper on this approach here. I created an Excel © file following the example given in Mildenhall’s paper: The input matrix X:
 The target correlation S: The Cholesky decomposition C of S:
 The intermediate matrix M (constant values to to equal Mildenhall’s data:
 You can create similar data automatically with array formula in A1:A20: =NORMSINV(ROW(INDIRECT("1:20"))/21)/STDEVPA(NORMSINV(ROW(INDIRECT("1:20"))/21)) and with the array formula =randomshuffle(\$A\$1:\$A\$20) in cells B1:B20 (copy to columns C and D respectively).
 Now you get the covariance matrix E:
 And its Cholesky decomposition F:
 The intermediate matrix T:
 You can check the generated correlations:
 Calculate the ranks of numbers in the columns of T: The random shuffle code: