- ベストアンサー
縦の日付け順を横にしたいのですが・・・
SEET1にある縦の表を SEET2に横表示したい。 例 SEET1 SEET2 日付 合計 1日 2日 3日 4日 1日 123 123 456 789 1230 2日 456 ⇒ 3日 789 4日 1230 のですが、簡単にできる数式を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.1です! たびたびお邪魔します。 補足に >関数の場合たとえば 日付の文字がA1に当り、1日がA2の場合でしょうか? とありますが 確かに仰られるとおりです。 前回の数式はタイトル行(見出し行)も含めての数式になりますので ↓の画像のような感じになります。 尚、Sheet1にデータがない場合は「0」が表示されますので 当方使用のExcel2003の場合では メニュー → ツール → オプション → 表示タブ で 「ゼロ値」のチェックを外せば、「0」は表示されなくなります。 もし、タイトル行は必要ないのであれば 範囲指定を2行目から行います。 Sheet2のB1セルからの入力になると思いますので、 B1セルの数式は =INDEX(Sheet1!$A$2:$A$100,COLUMN(A1)) B2セルの数式は =INDEX(Sheet1!$B$2:$B$100,COLUMN(A1)) となるはずです。 どうも何度も失礼しました。m(__)m
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! No.1・2です! >たとえばセルの結合をしてあり、そこの数値を引っ張りたい場合でも、使えますか? に関してですが、前回提示した数式はINDEX関数で範囲指定した行の COLUMN(A1)=1 これをオートフィルで列方向にコピーすると COLUMN(B1)=2 → COLUMN(C1)=3 ・・・ となり 上から1番目・2番目・3番目・・・と順番に表示させる数式ですので、 セルの結合があるとちょっとややこしくなりますね! 結合に規則性(例えば、2行ずつを結合)があれば数式を入力してオートフィルで対応できると思います。 仮にセルを2行ずつ結合したセルが連続している場合は セル番地は上側のセル番地になりますので 表示させる場合は1・3・5・・・行目を順番に表示させる数式を組めばよいだけです。 =INDEX($A$1:$A$100,COLUMN(A1)*2-1) といった感じです。 ただ一つだけいえるのは、数式を組んでオートフィルで表示させるような場合は 極力セルの結合をしないデータ作りをした方が良いと思います。 以上、長々と書きましたが この程度でよろしいでしょうか?m(__)m
お礼
tom04様 やはり面倒なのですね。 結合の無い部分では問題なく処理できましたが、結合セルの部分で躓きました。 結合セルでは諦めた方がよさそうですね。 長々とありがとうございました。
- mar00
- ベストアンサー率36% (158/430)
ただ横表示にするだけなら コピーの形式を選択して貼り付け、値、行列を入れ替えるで済むのでは?
お礼
そうですね。 ありがとうございます。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 当方使用のExcel2003の場合ですが・・・ 単純にSheet1のデータを範囲指定 → コピー → Sheet2のA1セルを選択 → 「形式を選択して貼り付け」 → 「行列を入れ替える」にチェックを入れ、OK これではダメですか? もし、関数でやるとすれば、 Sheet2のA1セルに =INDEX(Sheet1!$A$1:$A$100,COLUMN(A1)) A2セルに =INDEX(Sheet1!$B$1:$B$100,COLUMN(A1)) という数式を入れ、A1・A2セルを範囲指定し、A2セルのフィルハンドルで 列方向にコピーする方法もあると思います。 尚、数式はSheet1の100行目まで対応できる数式にしています。 以上、参考になれば幸いですが 他に良い方法があれば読み流してくださいね。m(__)m
補足
tom04様ありがとうございます。 関数の場合たとえば 日付の文字がA1に当り、1日がA2の場合でしょうか?
お礼
解決しました。 ありがとうございます。 ついでに質問してよいでしょうか? たとえばセルの結合をしてあり、そこの数値を引っ張りたい場合でも、使えますか?