質問: excel(エクセル)での並べ替え excel(エクセル)で自動で縦書きを横書きにしたいです。 以前にココで似たような相談をして、 回答していただいた中のヒントを生かしてやってみたのですが、 新たな表に上手く対応できませんでした。 申し訳ないのですが どうかもう1度、お力添えをお願いいたします(ノд`)・ ゚・。 添付画像のように a2~e7の表を同じシート内の薄緑の部分が自動で表示されるようにしたいです。 i2~k7にどの様な数式を入れればよいか教えてください! ときどき発生する複数行に対応する数式がわかりません。 甘えてばかりで申し訳ないのですが、よろしくお願い致します。
回答: i1~k1に、最初から商品名が入力されている場合には、まず、i2セルに次の数式を入力して下さい。(もし、元の表の行数が99行を上回る場合には、数式中の99の部分を、元の表の行数以上の数に変更して下さい) =if(sumproduct(($c2<>"")*($i1<>"")*($d$2:$d$99=i$1)*(countif(offset($c$1,,,row($c$2:$c$99)),"><")=countif(offset($c$1,,,row()),"><"))),index($e:$e,sumproduct(row($c$2:$c$99)*($d$2:$d$99=i$1)*(countif(offset($c$1,,,row($c$2:$c$99)),"><")=countif(offset($c$1,,,row()),"><")))),"") 次に、i2セルをコピーして、j2~k2の範囲に貼り付けて下さい。 次に、i2~k2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。 尚、i1~k1に商品名を自動的に表示させる場合には、適当な列(例えばg列)を作業列として使用します。 まず、g2セルに次の数式を入力して下さい。 =if(countif($d$1:$d2,$d2)=1,row(),"") 次に、g2セルをコピーして、g3以下に貼り付けて下さい。 次に、i1セルに次の数式を入力して下さい。 =if(columns($i:i)>count($g:$g),"",index($d:$d,small($g:$g,columns($i:i)))) 次に、i1セルをコピーして、j1~k1の範囲に貼り付けて下さい。 以上です。