数式で2つの列をつなげて1列にする。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。数式で2つの列をつなげて1列にする。110件1教えてください。エクセルのA列とB列にいくつかデータが入っていて(可変長:それぞれMAX100個)C列に「A列の後ろにB列をつなげたもの」が入るように数式を書きたいのですがどのように書けばよいでしょうか。数式はあまり長くならないほうがありがたいです。例A1:aaaA2:bbbA3:cccB1:あああB2:いいいB3:うううB4:えええならC1:aaaC2:bbbC3:cccC4:あああC5:いいいC6:うううC7:えええよろしくお願いします。票3空行がない前提ですが、こんな数式はどうでしょう。=INDEX(CHOOSE(IF(ROW()<=COUNTA(A:A),1,2),A:A,B:B),IF(ROW()<=COUNTA(A:A),ROW(),ROW()-COUNTA(A:A)),1)追記:もっと単純な別解ができたので、こちらで解説します。=INDEX(A:B,IF(ROW()<=COUNTA(A:A),ROW(),ROW()-COUNTA(A:A)),IF(ROW()<=COUNTA(A:A),1,2))ポイントはINDEX関数になります。A列とB列の値を列数と行数を指定して取得しています。INDEX(A:B,2,1)なら"bbb"、INDEX(A:B,3,2)なら"ううう"という具合です。A列を取得するだけでしたら、INDEX(A:B,ROW(),1)で十分です。途中でB列に切り替える必要があるので、もうひと工夫加えます。COUNTA関数でA列の行数を取得し、IF関数でA列の行数を超えたらB列から取得するように切り替えます。IF関数を抜いたB列を取得している処理は、INDEX(A:B,ROW()-COUNTA(A:A),2)のようになります。つなげる列数が増えるとこの方法では難しくなってしまいますが、今回は問題を解くには十分と判断しました。個の銅バッジありがとうございます。なにやら複雑な式で理解が追いつかないですが、確かに正しく動いてます。大雑把に言ってC列のセルに対して自分の行番号がA列の最後の行番号を越えているかどうかで場合わけですかね。はい、その理解で問題ありません。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。