Forum Discussion

karthiga's avatar
karthiga
Qrew Trainee
22 days ago
Solved

Combining Multiple Text Lists into One Text list Field

I have three text lists as input:

List A = [A, B, C]

List B = [E, F]

List C = [G, H]

I want to combine these into a single text list as output, like this:[A, B, C, D, E, F, G, H]

The output field is of type formula-multiselect. Could anyone please suggest the best way to combine these lists within a QuickBase formula?

6 Replies

  •  Split(List(";",ToText([List A]),ToText([List B]),ToText([List C])))

    • MarkShnier__You's avatar
      MarkShnier__You
      Icon for Qrew Legend rankQrew Legend

      LLoyd is correct. I was over, complicating it by answering really a different question as to how to find the unique values across multiple fields. 

  • Not elgant, but this brute force formula will combine two Multi-Select lists into one Multi Select list.

     

    // set the two strings
    var text SOne = ToText([Z-Admin - Role Function(s)]);
    var text STwo = ToText([Functional Responsibilities]);

    // dtermine the Twenty Parts of String Two
    var text PartOne =      Trim(Part($STwo,1,";"));
    var text PartTwo =      Trim(Part($STwo,2,";"));
    var text PartThree =    Trim(Part($STwo,3,";"));
    var text PartFour =     Trim(Part($STwo,4,";"));
    var text PartFive =     Trim(Part($STwo,5,";"));
    var text PartSix =      Trim(Part($STwo,6,";"));
    var text PartSeven=     Trim(Part($STwo,7,";"));
    var text PartEight =    Trim(Part($STwo,8,";"));
    var text PartNine =     Trim(Part($STwo,9,";"));
    var text PartTen =      Trim(Part($STwo,10,";"));
    var text PartEleven =   Trim(Part($STwo,11,";"));
    var text PartTwelve =   Trim(Part($STwo,12,";"));
    var text PartThirteen=  Trim(Part($STwo,13,";"));
    var text PartFourteen = Trim(Part($STwo,14,";"));
    var text PartFifteen =  Trim(Part($STwo,15,";"));
    var text PartSixteen =  Trim(Part($STwo,16,";"));
    var text PartSeventeen =Trim(Part($STwo,17,";"));
    var text PartEighteen = Trim(Part($STwo,18,";"));
    var text PartNinteen =  Trim(Part($STwo,19,";"));
    var text PartTwenty =   Trim(Part($STwo,20,";"));

    var text StepOne = 
      List(";", $SOne, If(not Contains($SOne, $PartOne), $PartOne));

    var text StepTwo = 
      List(";", $StepOne, If(not Contains($StepOne, $PartTwo), $PartTwo));

    var text StepThree = 
      List(";", $StepTwo, If(not Contains($StepTwo, $PartThree), $PartThree));

    var text StepFour = 
      List(";", $StepThree, If(not Contains($StepThree, $PartThree), $PartThree));
      
    var text StepFive = 
      List(";", $StepFour, If(not Contains($StepFour, $PartFour), $PartFour));

    var text StepSix = 
      List(";", $StepFive, If(not Contains($StepFive, $PartFive), $PartFive));
      
    var text StepSeven = 
      List(";", $StepSix, If(not Contains($StepSix, $PartSix), $PartSix));
      
    var text StepEight = 
      List(";", $StepSeven, If(not Contains($StepSeven, $PartSeven), $PartSeven));
      
    var text StepNine = 
      List(";", $StepEight, If(not Contains($StepEight, $PartEight), $PartEight));
      
    var text StepTen = 
      List(";", $StepNine, If(not Contains($StepNine, $PartNine), $PartNine));
      
    var text StepEleven = 
      List(";", $StepTen, If(not Contains($StepTen, $PartTen), $PartTen));
      
    var text StepTwelve = 
      List(";", $StepEleven, If(not Contains($StepEleven, $PartEleven), $PartEleven));
      
    var text StepThirteen = 
      List(";", $StepTwelve, If(not Contains($StepTwelve, $PartTwelve), $PartTwelve));
      
    var text StepFourteen = 
      List(";", $StepThirteen, If(not Contains($StepThirteen, $PartThree), $PartThirteen));
      
    var text StepFifteen = 
      List(";", $StepFourteen, If(not Contains($StepFourteen, $PartFourteen), $PartFourteen));

    var text StepSixteen = 
      List(";", $StepFifteen, If(not Contains($StepFifteen, $PartFifteen), $PartFifteen));

    var text StepSeventeen = 
      List(";", $StepSixteen, If(not Contains($StepSixteen, $PartSixteen), $PartSixteen));

    var text StepEighteen = 
      List(";", $StepSeventeen, If(not Contains($StepSeventeen, $PartSeventeen), $PartSeventeen));

    var text StepNineteen = 
      List(";", $StepEighteen, If(not Contains($StepEighteen, $PartEighteen), $PartEighteen));

    var text StepTwenty = 
      List(";", $StepNineteen, If(not Contains($StepNineteen, $PartNinteen), $PartNinteen));

    var text StepFinal = 
      List(";", $StepTwenty, If(not Contains($StepTwenty, $PartTwenty), $PartTwenty));

      
    Split($StepFinal)

    • karthiga's avatar
      karthiga
      Qrew Trainee

      Thanks for the response.

      This solution would be suitable if the list had a fixed number of items. However, in my case, the list is dynamic, and the number of items in lists can vary. Do you have any suggestions for handling this scenario?

      • MarkShnier__You's avatar
        MarkShnier__You
        Icon for Qrew Legend rankQrew Legend

        I'm not understanding what the problem is. That formula would combine list with up to 20 choices selected. 

        Because you have three fields, you would have to first combine two of the fields and then combine that combined field with the third field so you probably would use two separate formula fields