VLOOKUP.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. <?php
  2. function densityGrid(): array
  3. {
  4. return [
  5. ['Density', 'Viscosity', 'Temperature'],
  6. [0.457, 3.55, 500],
  7. [0.525, 3.25, 400],
  8. [0.616, 2.93, 300],
  9. [0.675, 2.75, 250],
  10. [0.746, 2.57, 200],
  11. [0.835, 2.38, 150],
  12. [0.946, 2.17, 100],
  13. [1.090, 1.95, 50],
  14. [1.290, 1.71, 0],
  15. ];
  16. }
  17. return [
  18. [
  19. '#N/A',
  20. 1,
  21. densityGrid(),
  22. 2,
  23. false,
  24. ],
  25. [
  26. '#REF!',
  27. 1,
  28. 'HELLO WORLD',
  29. 2,
  30. false,
  31. ],
  32. [
  33. 100,
  34. 1,
  35. densityGrid(),
  36. 3,
  37. true,
  38. ],
  39. [
  40. '#N/A',
  41. 0.70,
  42. densityGrid(),
  43. 3,
  44. false,
  45. ],
  46. [
  47. '#N/A',
  48. 0.100,
  49. densityGrid(),
  50. 2,
  51. true,
  52. ],
  53. [
  54. 1.71,
  55. 2,
  56. densityGrid(),
  57. 2,
  58. true,
  59. ],
  60. [
  61. 5,
  62. 'x',
  63. [
  64. [
  65. 'Selection column',
  66. 'Value to retrieve',
  67. ],
  68. ['0', 1],
  69. ['0', 2],
  70. ['0', 3],
  71. ['0', 4],
  72. ['x', 5],
  73. ['x', 6],
  74. ['x', 7],
  75. ['x', 8],
  76. ['x', 9],
  77. ],
  78. 2,
  79. false,
  80. ],
  81. [
  82. '#N/A',
  83. '10y2',
  84. [
  85. ['5y-1', 2.0],
  86. ['10y1', 7.0],
  87. ['10y2', 10.0],
  88. ],
  89. 2.0,
  90. ],
  91. [
  92. '#VALUE!',
  93. '10y2',
  94. [
  95. ['5y-1', 2.0],
  96. ['10y1', 7.0],
  97. ['10y2', 10.0],
  98. ],
  99. -5,
  100. ],
  101. [
  102. '#REF!',
  103. '10y2',
  104. [
  105. ],
  106. 2.0,
  107. ],
  108. [
  109. '#REF!',
  110. '10y2',
  111. [
  112. [2.0],
  113. [7.0],
  114. [10.0],
  115. ],
  116. 2.0,
  117. ],
  118. [
  119. 3.50,
  120. 'Cornflakes',
  121. [
  122. ['Item Description', 'Price'],
  123. ['Tinned Tomatoes', 0.90],
  124. ['Tinned Tuna', 1.50],
  125. ['Cornflakes', 3.50],
  126. ['Shortcake Biscuits', 1.00],
  127. ['Toothpaste', 4.10],
  128. ['Tinned Baked Beans', 0.99],
  129. ['White Sliced Bread', 0.80],
  130. ],
  131. 2,
  132. false,
  133. ],
  134. [
  135. 'E',
  136. 0.52,
  137. [
  138. ['Lower', 'Upper', 'Grade'],
  139. [0.00, 0.44, 'F'],
  140. [0.45, 0.54, 'E'],
  141. [0.55, 0.64, 'D'],
  142. [0.65, 0.74, 'C'],
  143. [0.75, 0.84, 'B'],
  144. [0.85, 1.00, 'A'],
  145. ],
  146. 3,
  147. true,
  148. ],
  149. [
  150. 'E',
  151. 0.52,
  152. [
  153. ['Lower', 'Upper', 'Grade'],
  154. [0.00, 0.44, 'F'],
  155. [0.45, 0.54, 'E'],
  156. [0.55, 0.64, 'D'],
  157. [0.65, 0.74, 'C'],
  158. [0.75, 0.84, 'B'],
  159. [0.85, 1.00, 'A'],
  160. ],
  161. 3,
  162. null,
  163. ],
  164. 'issue2934' => [
  165. 'Red',
  166. 102,
  167. [
  168. [null, null],
  169. [102, 'Red'],
  170. ],
  171. 2,
  172. false,
  173. ],
  174. 'string supplied as index' => [
  175. '#VALUE!',
  176. 102,
  177. [
  178. [null, null],
  179. [102, 'Red'],
  180. ],
  181. 'xyz',
  182. false,
  183. ],
  184. 'num error propagated' => [
  185. '#NUM!',
  186. 102,
  187. [
  188. [null, null],
  189. [102, 'Red'],
  190. ],
  191. '=SQRT(-1)',
  192. false,
  193. ],
  194. ];