NathanAllan3
4 years agoQrew Trainee
Finding the 2nd Max or 2nd Min
I've been using the new formula queries which are awesome! One thing they can't do however is aggregate the data the pull. So I have a formula which then will do it for me. I need to find the lowest, 2nd, and 3rd lowest values of all the sibling records in a table and there is no set number of sibling records for any given record. I've built it to handle up to 20 at this point. So far I am able to extract the lowest, but I get stuck when I'm trying to find the 2nd or 3rd lowest values. Here's what I have so far. Any help would be greatly appreciated!
var text valuelist = SearchAndReplace(ToText(GetCellValues(GetRecords("{8.EX.'" & [Related Project] & "'}"),51)),"$","");
var number valueone = ToNumber(Part($valuelist, 1, ";"));
var number valuetwo = ToNumber(Part($valuelist, 2, ";"));
var number valuethree = ToNumber(Part($valuelist, 3, ";"));
var number valuefour = ToNumber(Part($valuelist, 4, ";"));
var number valuefive = ToNumber(Part($valuelist, 5, ";"));
var number valuesix = ToNumber(Part($valuelist, 6, ";"));
var number valueseven = ToNumber(Part($valuelist, 7, ";"));
var number valueeight = ToNumber(Part($valuelist, 8, ";"));
var number valuenine = ToNumber(Part($valuelist, 9, ";"));
var number valueten = ToNumber(Part($valuelist, 10, ";"));
var number valueeleven = ToNumber(Part($valuelist, 11, ";"));
var number valuetwelve = ToNumber(Part($valuelist, 12, ";"));
var number valuethirteen = ToNumber(Part($valuelist, 13, ";"));
var number valuefourteen = ToNumber(Part($valuelist, 14, ";"));
var number valuefifteen = ToNumber(Part($valuelist, 15, ";"));
var number valuesixteen = ToNumber(Part($valuelist, 16, ";"));
var number valueseventeen = ToNumber(Part($valuelist, 17, ";"));
var number valueeighteen = ToNumber(Part($valuelist, 18, ";"));
var number valuenineteen = ToNumber(Part($valuelist, 19, ";"));
var number valuetwenty = ToNumber(Part($valuelist, 20, ";"));
var number lowest = Min($valueone,$valuetwo,$valuethree,$valuefour,$valuefive,$valuesix,$valueseven,$valueeight,$valuenine,$valueten,$valueeleven,$valuetwelve,$valuethirteen,$valuefourteen,$valuefifteen,$valuesixteen,$valueseventeen,$valueeighteen,$valuenineteen,$valuetwenty);
var number secondlowest = Min($valueone,$valuetwo,$valuethree,$valuefour,$valuefive,$valuesix,$valueseven,$valueeight,$valuenine,$valueten,$valueeleven,$valuetwelve,$valuethirteen,$valuefourteen,$valuefifteen,$valuesixteen,$valueseventeen,$valueeighteen,$valuenineteen,$valuetwenty);
var number thirdlowest = Min($valueone,$valuetwo,$valuethree,$valuefour,$valuefive,$valuesix,$valueseven,$valueeight,$valuenine,$valueten,$valueeleven,$valuetwelve,$valuethirteen,$valuefourteen,$valuefifteen,$valuesixteen,$valueseventeen,$valueeighteen,$valuenineteen,$valuetwenty);
$lowest
------------------------------
Nathan Allan
------------------------------
var text valuelist = SearchAndReplace(ToText(GetCellValues(GetRecords("{8.EX.'" & [Related Project] & "'}"),51)),"$","");
var number valueone = ToNumber(Part($valuelist, 1, ";"));
var number valuetwo = ToNumber(Part($valuelist, 2, ";"));
var number valuethree = ToNumber(Part($valuelist, 3, ";"));
var number valuefour = ToNumber(Part($valuelist, 4, ";"));
var number valuefive = ToNumber(Part($valuelist, 5, ";"));
var number valuesix = ToNumber(Part($valuelist, 6, ";"));
var number valueseven = ToNumber(Part($valuelist, 7, ";"));
var number valueeight = ToNumber(Part($valuelist, 8, ";"));
var number valuenine = ToNumber(Part($valuelist, 9, ";"));
var number valueten = ToNumber(Part($valuelist, 10, ";"));
var number valueeleven = ToNumber(Part($valuelist, 11, ";"));
var number valuetwelve = ToNumber(Part($valuelist, 12, ";"));
var number valuethirteen = ToNumber(Part($valuelist, 13, ";"));
var number valuefourteen = ToNumber(Part($valuelist, 14, ";"));
var number valuefifteen = ToNumber(Part($valuelist, 15, ";"));
var number valuesixteen = ToNumber(Part($valuelist, 16, ";"));
var number valueseventeen = ToNumber(Part($valuelist, 17, ";"));
var number valueeighteen = ToNumber(Part($valuelist, 18, ";"));
var number valuenineteen = ToNumber(Part($valuelist, 19, ";"));
var number valuetwenty = ToNumber(Part($valuelist, 20, ";"));
var number lowest = Min($valueone,$valuetwo,$valuethree,$valuefour,$valuefive,$valuesix,$valueseven,$valueeight,$valuenine,$valueten,$valueeleven,$valuetwelve,$valuethirteen,$valuefourteen,$valuefifteen,$valuesixteen,$valueseventeen,$valueeighteen,$valuenineteen,$valuetwenty);
var number secondlowest = Min($valueone,$valuetwo,$valuethree,$valuefour,$valuefive,$valuesix,$valueseven,$valueeight,$valuenine,$valueten,$valueeleven,$valuetwelve,$valuethirteen,$valuefourteen,$valuefifteen,$valuesixteen,$valueseventeen,$valueeighteen,$valuenineteen,$valuetwenty);
var number thirdlowest = Min($valueone,$valuetwo,$valuethree,$valuefour,$valuefive,$valuesix,$valueseven,$valueeight,$valuenine,$valueten,$valueeleven,$valuetwelve,$valuethirteen,$valuefourteen,$valuefifteen,$valuesixteen,$valueseventeen,$valueeighteen,$valuenineteen,$valuetwenty);
$lowest
------------------------------
Nathan Allan
------------------------------