offsetに関するkiyo_hikoのブックマーク (2)
-
VLOOKUP関数やINDEX関数のようなExcelの行列関数の仲間に、OFFSET関数という関数があります。 OFFSET関数は非常に特殊な関数で、普通の関数は、ある一つの値を答えとしますが、OFFSET関数は、範囲を答えとします。 範囲を答えとしますので、OFFSET関数の答えをセルに求めても正しく何かを求める形にはなりません。 実際に操作するファイルはこちらからダウンロードできます。 OFFSET関数で範囲を指定するというのは、実際にはどんなことなのでしょうか? ほとんどのケースではOFFSET関数は他の関数と組み合わせて使用します。 他の関数とは、﹁範囲﹂をもとに値を求める関数です。 範囲を指定する関数はとても多く、単純なものであればSUM関数も範囲を指定しますし、行列関数のVLOOKUP関数や、高度なものであればデータベース関数のDSUM関数なども範囲を指定します。 これらの関数
-
each_with_index で index の値を利用する時、 たとえば 0 ではなく1から使いたい場合… %w(杏子 さやか マミ).each_with_index {|magica, i| puts "#{i + 1} #{magica}" } # 1 杏子 # 2 さやか # 3 マミ とわざわざ +1 を書いたりするのはなんか面倒だ (´・ω・`) そんなときは Enumerator#with_index(offset = 0) の出番! 見ての通り、offset 値に任意の数値を指定できるのだ! Array#each をブロックなしで呼ぶと、Enumerator 型のオブジェクトが返ってくるので、 そいつにwith_index を呼んでやる。 パッと見、each_with_index に見間違えそうなくらい、そっくりに書けるのが (個人的には) COOL♪
-
1