class Extract::ExcelFormulas
Public Class Methods
method_missing(sym,*args,&b)
click to toggle source
# File lib/extract/excel_formulas.rb, line 39 def method_missing(sym,*args,&b) new.send(sym,*args,&b) end
Public Instance Methods
combin(n,k)
click to toggle source
# File lib/extract/excel_formulas.rb, line 33 def combin(n,k) #puts "combin #{n} #{k}" n.fact / (k.fact * (n-k).fact) end
double(i)
click to toggle source
# File lib/extract/excel_formulas.rb, line 3 def double(i) i * 2 end
if(c,a,b)
click to toggle source
# File lib/extract/excel_formulas.rb, line 9 def if(c,a,b) res = c ? a : b #puts [c,a,b].inspect res end
max(*args)
click to toggle source
# File lib/extract/excel_formulas.rb, line 14 def max(*args) args.flatten.select { |x| x }.sort.reverse.first end
sqrt(num)
click to toggle source
# File lib/extract/excel_formulas.rb, line 25 def sqrt(num) if num.present? (num.to_f) ** 0.5 else nil end end
sum(*args)
click to toggle source
# File lib/extract/excel_formulas.rb, line 6 def sum(*args) args.flatten.inject(0) { |s,i| s + (i || 0) } end
vlookup(lookup_val,range,col_num,*junk)
click to toggle source
# File lib/extract/excel_formulas.rb, line 17 def vlookup(lookup_val,range,col_num,*junk) range.each do |row| if row[0] == lookup_val return row[col_num-1] end end nil end