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