2016年2月20日(土)
Excelのちょっとしたテクニックをご紹介します。
ジグザグの蛇行状のデータの配列要素を1列に並べる数式です(図参照)。
【→方向】は赤文字の部分にISODD()という関数を使い、
【←方向】は赤文字部分にISEVEN()という関数を用います。
INDEX()と言う関数は、INDEX(範囲,x,y)とすると、範囲内の基準の位置から(図で言うと、範囲は赤い囲みの中、基準点はD3)、(x列,y列)だけ進んだ位置のセル内の要素を取り出します。
つまり、【→方向】の場合、図で言うと
①範囲=$D$3:$Z$17 ($を付けると、固定すると言う意味)
②x=IF(MOD(A7,k)=0,QUOTIENT(A7-1,k)+1,QUOTIENT(A7,k)+1)
③y=IF(ISODD(IF(MOD(A7,k)=0,
QUOTIENT(A7-1,k)+1,QUOTIENT(A7,k)+1),
IF(MOD(A7,k)=0,k,MOD(A7,k)),
IF(MOD(A7,k)=0,1,(K+1)-MOD(A7,k))
と言うことです。
QUOTIENT(a,b)はaをbで割ったときの商を、
MOD(a,b)はaをbで割ったときの余りを出す関数です。
以上
Faust