• 締切済み

エクセル 長い表を2つに分けて表示する方法

B2~D21に空白行の入ったA表があり当データをB表(F2~H8)とC表(J2~L13)に分けてデータを表示したい。 B表のデータ5行以降はC表に折り返し表示させる。 関数を使用して2つの表に分けて表示するにはどのようにしたらよいでしょうか。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

こういう質問には、目的を書いて質問すべきだ。 1表をウインドウズを2つ開いて、並列的に表示し、並べてみる手もある。 内容が別の2-3表を同一シートの左右列ブロックに並べて作る、なんて、データベース的には、困った話になると思う。 またこういう1表のデータの構成変更を関数でやるというのは、出来るにしても、筋違いだと思う。 仕事などのデータなら、データベースソフトを使うとか、VBAを勉強して処理するとかしないと(初心者の思い付きで解決しようというのは)ダメだと思う。

  • msMike
  • ベストアンサー率20% (364/1805)
回答No.4

配列数式↓ =IFERROR(INDEX(INDIRECT(G$3),IF(ROW(B6)>5,"",SMALL(IF(項A<>"",ROW(項A)),ROW(B6)))-3),"") を入力したセル F4 を右方2列&下方にズズーッとオートフィル 配列数式↓ =IFERROR(INDEX(INDIRECT(F$3),IF(ROW(A1)>$I$2-5,"",SMALL(IF(項A<>"",ROW(項A)),ROW(A6)))-3),"") を入力したセル J4 を右方2列&下方にズズーッとオートフィル オ・シ・マ・イ

  • kkkkkm
  • ベストアンサー率66% (1732/2602)
回答No.3

No.2の訂正です。 B表が5行と限らない場合は > I4に > =IF(F4="","",COUNTA($F$4:F4)) > として下にコピー は、いらなくて J4に =IFERROR(INDEX($B$4:$D$21,MATCH(COUNTA($F$4:$F$21)+ROW(A1),$E$4:$E$21,0),COLUMN(A1)),"") として右と下にコピー に訂正です。

  • kkkkkm
  • ベストアンサー率66% (1732/2602)
回答No.2

E4に =IF(B4="","",COUNTA($B$4:B4)) として下にコピー F4に =IFERROR(INDEX($B$4:$D$21,MATCH(ROW(A1),$E$4:$E$21,0),COLUMN(A1)),"") として右と下にコピー J4に =IFERROR(INDEX($B$4:$D$21,MATCH(ROW(A6),$E$4:$E$21,0),COLUMN(A1)),"") として右と下にコピー B表が5行と限らない場合 I4に =IF(F4="","",COUNTA($F$4:F4)) として下にコピー J4に =IFERROR(INDEX($B$4:$D$21,MATCH(MAX($I$4:$I$21)+ROW(A1),$E$4:$E$21,0),COLUMN(A1)),"") として右と下にコピー 最終行は質問の画像の21行目とした場合の式です。

  • SI299792
  • ベストアンサー率47% (777/1627)
回答No.1

A列が空いているので、ワークエリアに使っていいですか。目障りならフォントを白又は非表示にして下さい。 A4: =A3+(B4<>"") 下へコピペ。 F4: =IFERROR(INDEX(B:B,MATCH(ROW()-3,$A:$A,0)),"") H9迄コピペ。 J4: =IFERROR(INDEX(B:B,MATCH(ROW()+2,$A:$A,0)),"") L列の適当な所迄下へコピペ。

関連するQ&A

専門家に質問してみよう