Roll20 does not have a good built in way to do this. You could roll 72 attacks and only keep the best half of them but that’s going to give you a very skewed result (don't do this!): /r {[[2*?{Amount}]]d20kh?{Amount}+?{Bonus}}>?{Difficulty|0} The 'correct' way in Roll20 would be to roll 36 times at advantage: /r {(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus})}>?{Difficulty|0} But that is super unwieldy, and you can't just plug in the number of attacks that you want. However, if you’re playing D&D 5E and using the D&D 2014 character sheet, then you can use this macro to roll for large numbers of creatures according to the ‘mob rules’ from the DMG: /w gm &{template:npcaction} {{rname=@{selected|character_name} Mob @{selected|repeating_npcaction_$0_name} Attack}} {{name=versus @{target|token_name}}} {{description=[[[[[{[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>1*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>6*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>13*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>15*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>17*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>19*(5) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>20*(10)]]]]](#) @{selected|character_name}s are needed to hit @{target|token_name} [[[@{selected|repeating_npcaction_$0_attack_onhit}]]](#) average damage (+@{selected|repeating_npcaction_$0_attack_tohit} 'To Hit' versus @{target|ac}AC)}} To account for Advantage or Disadvantage I would recommend adjusting the macro according to this table here : Advantage: /w gm &{template:npcaction} {{rname=@{selected|character_name} Mob @{selected|repeating_npcaction_$0_name} Advantage Attack}} {{name=versus @{target|token_name}}} {{description=[[[[[{[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>1*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>11*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>17*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>18*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>19*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>20*(5)]]]]](#) @{selected|character_name}s are needed to hit @{target|token_name} [[[@{selected|repeating_npcaction_$0_attack_onhit}]]](#) average damage (+@{selected|repeating_npcaction_$0_attack_tohit} 'To Hit' versus @{target|ac}AC)}} Disadvantage: /w gm &{template:npcaction} {{rname=@{selected|character_name} Mob @{selected|repeating_npcaction_$0_name} Disdvantage Attack}} {{name=versus @{target|token_name}}} {{description=[[[[[{[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>1*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>4*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>9*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>11*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>13*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>15*(5) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>17*(10)]]]]](#) @{selected|character_name}s are needed to hit @{target|token_name} [[[@{selected|repeating_npcaction_$0_attack_onhit}]]](#) average damage (+@{selected|repeating_npcaction_$0_attack_tohit} 'To Hit' versus @{target|ac}AC)}}