- ベストアンサー
結合されたセルのオートフィルについて質問です。
- Excel2000を利用して住所一覧表を作成する際、結合されたセルのオートフィル機能を使用して行を増やそうとしたが、結合されているためにうまくできなかった。手動で1つずつコピーするしかないのか、他の方法はあるのか質問したい。
- Excel2000を利用し住所一覧表を作成するため、結合されたセルのオートフィル機能を使って行を増やそうとしたが、結合されているためにうまくできなかった。手動で1つずつコピーするしかないのか、他の方法はあるのか質問したい。
- Excel2000で住所一覧表を作成する際、結合されたセルのオートフィル機能を使って行を増やそうとしたが上手くいかなかった。手動で1つずつコピーするしかないのか、他の方法はあるのか質問したい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まさに「数合わせの勘定をして自分で数式を考えるのはメンドクサイです。」のその部分で数合わせが間違ってたみたいでゴメンナサイ,ご迷惑をお掛けしました。 えっとそれで。。。 今の式で位置合わせのカギになっている部分を数式の中から取り出してみると, =(ROW()+1)/3 これを2行目のセルに入れて3行セットで下にコピーしてみます。 確かに1,2,3…が出てて,これじゃだめですね。これが2,3,4…になるように数合わせをします。 手っ取り早く =(ROW()+4)/3 にしてしまいましょう。 変更前: =IF(sheet1!B2="","",CONCATENATE(sheet1!B2,CHAR(10),sheet1!C2)) 修正後: =IF(INDEX(sheet1!B:B,(ROW()+4)/3)="","",CONCATENATE(INDEX(sheet1!B:B,(ROW()+4)/3),CHAR(10),INDEX(sheet1!C:C,(ROW()+4)/3)))
その他の回答 (3)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 B列の部分 =IF(OFFSET(Sheet1!$B$1,INT(ROW()/3),0)<>"",OFFSET(Sheet1!$B$1,INT(ROW()/3),0)&CHAR(10)&OFFSET(Sheet1!$B$1,INT(ROW()/3),1),"") C列の部分 =IF(OFFSET(Sheet1!$B$1,INT(ROW()/3),0)<>"",OFFSET(Sheet1!$B$1,INT(ROW()/3),2)&CHAR(10)&OFFSET(Sheet1!$B$1,INT(ROW()/3),3)&CHAR(10)&OFFSET(Sheet1!$B$1,INT(ROW()/3),4),"")
お礼
素早いご回答ありがとうございました! B列とC列の式につき,それぞれ教えていただき, ありがとうございます! このように作成すればいいのですね…。。 本当に勉強になります。 =IF(OFFSET(Sheet1!$B$1,INT(ROW()/3),0)<>"",OFFSET(Sheet1!$B$1,INT(ROW()/3),0)&CHAR(10)&OFFSET(Sheet1!$B$1,INT(ROW()/3),1),"") をsheet2のB2に入れてみますと, sheet1の1行目の氏名等の項目行が表示されたのですが, 「$B$1」の部分を「$B$2」にそれぞれ変更すると,できました!!!! ちゃんと氏名が表示されました! ありがとうございます! Excelにも色々な式の作成方法があるんだなーと感心しています。 またお世話になることもあると思いますが,宜しくお願いいたします! 本当に助かりましたし,勉強になりました。 ありがとうございました!
- keithin
- ベストアンサー率66% (5278/7941)
>又,他に何かいい方法はありますでしょうか? 一番手っ取り早い手は,シート1の手入力欄についてもまた3行一揃えにしておきます。 つまり A2からA4をセル結合して番号の1を記入 B2からB4をセル結合して山田を記入 C2からC4をセル結合して太郎を記入 D2からD4をセル結合して123-4567を記入 E2からE4をセル結合して*市*町を記入 F2からF4をセル結合して山田ビルを記入 このように入力欄もセル結合して作成しておき,下向けにつるつるっとオートフィルドラッグして縦3横1セルの入力リストを大きく作っておけば,何も考えずにシート2もまたオートフィルドラッグで数式を展開できます。 参考: 既にシート1のデータを沢山埋めてしまったので,今さらシート1をやり替えたくありませんという場合。 もちろんデータを打ち換える必要も,また手作業で2行ずつ行を挿入していく必要もありません。 手順: 1行目タイトル行 2行目データ記入済 3行目データ記入済 4行目データ記入済 とすると 今ちょうどA列に連番が123と入っています。A2,A3,A4に。 A2:A4をコピーしてA5に貼り付け,更にA8に貼り付けると123123123と縦に並びます。 表全体を選択,A列の昇順で並べ替えると 番号は111222333となり,各1行目にデータが入って並べ変わります。 ついでに。 任意のあるJ1:J3の3つのセルを縦に1つにセル結合しておきます J1:J3をコピー,A2:F10を選び,編集メニューの型式を選んで貼り付けの書式のみ貼り付けると,完成です。 続きの行も同様に3行ずつセル結合しておき,シート1全体は適宜行高さを整えて見やすく使いやすくしてください。 シート2の数式は最初の行に数式を記入,セル結合と共に2,3,4行をまとめて選択した状態からえいやっとオートフィルドラッグすることで,ご相談にかかれたように2行目5行目8行目を参照する式が続きます。 #参考 ご質問の直接の回答としては 変更前: =IF(sheet1!B2="","",CONCATENATE(sheet1!B2,CHAR(10),sheet1!C2)) 変更後: =IF(INDEX(sheet1!B:B,(ROW()+1)/3)="","",CONCATENATE(INDEX(sheet1!B:B,(ROW()+1)/3),CHAR(10),INDEX(sheet1!C:C,(ROW()+1)/3))) などのように作れば出来ます。理屈自体は簡単ですが,数合わせの勘定をして自分で数式を考えるのはメンドクサイです。
お礼
おはようございます! 今やってみました。 めっちゃすごいです!! 「へぇぇぇ~!!!!!!」と朝から感動してしまいました。 このような方法があるのですね。。 すごく勉強になります! sheet1を3行ごとにする方法は私も考えたのですが, 実は,sheet1は宛名ラベル作成(Wordを利用しての差し込み印刷)用に 利用しようと考えておりまして,3行結合させると, ラベルがうまく表示されないのです(;_;) セルを結合させることにより,Excelで空白の行(A3A4)は ラベル側でも空白と認識されてしまい, 一人の宛先につき2つ空白のラベルができてしまうんですよね~。 (私の勉強不足で,もっと上手な方法があるのかもしれませんが…) なので, >♯参考 の式の方を利用させてもらいました。 この式だとちゃんと表示してくれます!! ただ,この式をsheet2のB2に入れると, sheet1の1行目の氏名等の項目行が表示されてしまいますよね? sheet1の2行目から,sheet2のB2に表示させていきたいのですが, その場合の式はどう変えたらいいのでしょうか? ちょっと勉強してみます! 本当にありがとうございました! またお世話になることがあるかもしれません。 その時はどうぞよろしくお願いいたします☆ ありがとうございました(^▽^)/
補足
素早いご回答ありがとうございます! ご回答頂いた内容を上からゆ~っくり試しているのですが, 私の理解力が乏しく,まだ > 番号は111222333となり,各1行目にデータが入って並べ変わります。 までしかすすんでおりません(^^;) もう,このPCを閉めなければなりませんので, 明日また結果報告とお礼をさせて頂きます。 ごめんなさい! ありがとうございました!
- nattocurry
- ベストアンサー率31% (587/1853)
ROW関数を使っていろいろとやり方はあると思いますがその前に。 わざわざ3行を結合している理由は何ですか? この質問文の例を見る限りでは、セルの高さを3倍にして1行に入力すれば良いだけだと思いますが・・・ あと、わざわざCONCATENATE関数を使っているのも不思議です。 氏名のところは、 CONCATENATE(sheet1!B2,CHAR(10),sheet1!C2) の代わりに sheet1!B2&sheet1!C2 で十分ですよね。 改行もしていないのに、CHAR(10)は何のために入れてあるのでしょうか? 住所の部分も sheet1!D2&CHAR(10)&sheet1!E2&CHAR(10)&sheet1!F2 にして、セルの書式設定で、折り返して全体を表示する、にすれば良いだけだと思います。
お礼
素早いご回答ありがとうございます! ごめんなさい,かなり説明足らずでしたね(;_;) > わざわざ3行を結合している理由は何ですか? 【sheet2】については,「この書式で使用してください!」と指定されている書式なのです。 これをそのまま表として使用する必要があるので, あまり書式を動かしたくないというのが理由です。 > 改行もしていないのに、CHAR(10)は何のために入れてあるのでしょうか? 例では,個人名で表示させてもらったのですが, 実際に利用する時には,氏名だけではなく, 氏を**会社 名を**センターという感じで,会社名を入力する場合があります。 その際に,会社名と部署名を2行にして表示したいのでそのように式を入れました。 例でも,改行して書けば良かったですね。 完全に忘れていました…。。 ごめんなさい! > sheet1!D2&CHAR(10)&sheet1!E2&CHAR(10)&sheet1!F2 については, セルを結合していない前提での式ですよね? こういう方法もあるのですね…。 できれば,こちらを使いたいです(;_;) Excelはまだまだ超初心者で, わからないことも多く,おそるおそる式を作っている状態なのですが, 上記ご回答頂いた内容はとても勉強になりました。 色々な方法があるのですね! 説明不足ですいませんでした。 また何かありました時には, お力添え頂ければ幸いです。 本当にありがとうございました!
お礼
2度もご回答頂き, ありがとうございます!! とんでもないです。 全然迷惑じゃないです,恐縮です(>_<) そして…できました!! 感動です! ちゃんと2行目からの山本君が出てきました…! どうしてその部分を変更するのかという説明も, すごくわかりやすく教えていただきありがとうございました! なるほどーすごいですね…。。 他のお二方の回答者様にも教えて頂いたように, 1つの結果を出す際にも, 色々な方法があるのですね…。 今回でまた少しExcelの能力が少しだけ前進したような気がします(自分なりに…^^;) 2度もご回答頂き,本当にありがとうございました。 がんばって,皆様のような知識をつけられるよう, 少しずつがんばります(^^)v ありがとうございました!
補足
すいません, この場をお借りして… 皆様にポイントを差し上げたいのですが, どうやらお一人にしかポイントは付与できないようになったみたいですね…。 (以前に,違う質問をした際, 20ポイント付与した後,違う回答者様に10ポイントを付与しようと思ったら出来ないことに気がつき, あわてて教えてgooに,ある方に10ポイントを付与したい旨のメールをしたところ, 仕様変更の為できないと教えられ,初めて気がつきました(^^;)) わかりにくく説明不足な私の質問にも, 素早く的確にお答えくださいました, 3人のご回答者さま,本当にありがとうございました。 かなり勉強になりました。 皆様のお力をお借りし,がんばって一覧表作成してみます! ありがとうございました!!