I have array of arrays, which looks like this:
a = [['1','1500','SomeName','SomeSurname'],
['2','1500','SomeName2','SomeSurname2'],
['3','1500','SomeName3','SomeSurname3'],
['4','1501','SomeName','SomeSurname'],
...]
I can get sub-array of this array with all rows containing '1500' value by .each function and simple  if, but if a.length is large, it's taking too much time! How can I get all rows from  a with certain a[1] value, without iterating over  a?
Enumerable#find_all is what you are looking for:
a.find_all { |el| el[1] == '1500' } # a.select will do the same
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With