- ベストアンサー
エクセル関数の連続コピーと質問の追加
- エクセルの関数を連続的にコピーする方法と、質問の追加に関する解決策を教えてください。
- 簡単な式の場合は、関数を下に引っ張って行くだけで解決できますが、入れ子になった関数の場合は変化しません。
- 連続的に関数を変えていく方法はあるのでしょうか。よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
どのように試されたのかを具体的に提示していただくと良いのですが ヒントを差し上げます。 A列 B列 C列 D列 IF(集計!C11="", "",集計!B11) ="="&A1&B1&C1 IF(集計!C11= "",集計!B11, 集計!C11)
その他の回答 (6)
- xls88
- ベストアンサー率56% (669/1189)
折角ですから、フィル入力の仕方はどうされていますか。 (1)A1に、IF(集計!C11="", と入力 (2)名前ボックスをクリックし、A1:A1000とセル番地を入力 (3)Enter、で A1:A1000 が選択される (4)A1がアクティブになっているので、F2キーを押して編集モードにする (5)Ctrl+Enter、とキー操作 (以上で、A1:A1000のセルに、IF(集計!C11="", が入力されます。) (6)A2に、IF(集計!C11= と入力 (7)A1とA2を選択 (8)選択枠の右下角の■(フィルハンドル)をダブルクリック (以上でA1とA2の文字列式がA1000まで一気にフィル入力されます。) B、C、D列は、上記手順の(1)(6)~(8)の操作を行います。 (2)~(5)の操作は不要です。 B、C、D列を纏めて行ってください。 今回を含め五度回答しましたので、お礼は5回にしてください。 と、いうのは私流の冗談です。
お礼
すごいですね。出来ましたよ。 今は毎日が日曜日ですが、去年までの8年間は「日報」「月報」「注文に応じたデータ表」などを作るのが仕事でした、連続フィルは、「編集ーフィル」のところで処理し、「名前ボックス」は、範囲指定的な使いかたしかしていませんでした。 本当に勉強になりました。ありがとうございます。
- xls88
- ベストアンサー率56% (669/1189)
先の質問、 http://oshiete1.goo.ne.jp/qa4383986.html で、2行に亘るセルのフィル入力を学んだ筈です? 今回のネストした関数のフィル入力と、先の2行に亘るセルのフィル入力方法を併せてやればできる筈です。 何故、トライしてみないのですか?
お礼
長い間お付き合いいただき、ありがとうございました。 xls88さんのやり方は、これまでに3度作り直してやってみましたが、二段を処理することが出来ません。 失礼ですが、次の二段をもう一度やっていただけませんか。 ---------- A1に =IF(集計!C134="","",集計!B134) A2に =IF(集計!C134="",集計!B134,集計!C134) ---------- 決してA2だけを処理するのではなく、二段ともやっていただくか、一段ずつ処理した後、上のように縦に並べたいのです。 xls88さんとやり取りをしていて、フッと「ISODD」(奇数)関数が浮かびました。A列に通し番号を振って、ISODDを使って、奇数なら「E列を」、偶数なら「F列を」で出来そうです。
- xls88
- ベストアンサー率56% (669/1189)
ANo.2の回答内容を見返すと記述ミスをしていたようです。 下記のように訂正します。 ---------------------------------------------------------------- 文字列式を各パーツ毎にフィルコピーする A1に、IF(集計!C134="", B1に、集計!B134, C1に、集計!C134) としてフィルコピー IF(集計!C134="", 集計!B134, 集計!C134) IF(集計!C135="", 集計!B135, 集計!C135) IF(集計!C136="", 集計!B136, 集計!C136) IF(集計!C137="", 集計!B137, 集計!C137) D1に下記数式を入力 ="="&A1&FB1&C1 D2以下にコピー D列を選択、コピーして「形式を選択して貼り付け」の「値」で貼り付け =IF(集計!C134="",集計!B134,集計!C134) =IF(集計!C135="",集計!B135,集計!C135) =IF(集計!C136="",集計!B136,集計!C136) =IF(集計!C137="",集計!B137,集計!C137) 選択状態のまま、データの「区切り位置」で何もせずに「完了」 以上で数式が出現します。 ---------------------------------------------------------------- 以下、苦言になるかも知れませんが >ANo.2補足 質問の内容は理解できています。 先の投稿(http://oshiete1.goo.ne.jp/qa4383986.html)で学んだ内容を適用すればすむ問題です。 そこら辺を理解された上での、今回の質問、例題の提示であると推測しました。 ですから、今回の質問の例題に則して回答を差し上げただけです。 ご自分で、きちんと応用される積もりなのだ、ということで回答させていただきました。 そうでないと、私もANo.1 higekumanさんと同じ回答を差し上げています。 もう少し自助努力をしてみてください。 その上で上手く出来ない場合は、補足相談なさってください。 偉そうなことを言って済みませんが、以上よろしくお願いいたします。
補足
説明不足で本当に申し訳ありません。 ただ、一段だけの関数コピーなら、問題は無いのです。 http://oshiete1.goo.ne.jp/qa4383986.html の質問部分 ------------- シート2のA1に、=sheet1!A1 シート2のA2に、=sheet1!B1 としました。 A3に、=sheet1!A2 A4に、=sheet1!B2 としたいのですが、このまま連続コピーすると、 =sheet1!A3 =sheet1!B3 =sheet1!A5 =sheet1!B5 と一行おきのコピーになってしまいます。 ----------- 入れ子になっていない関数は「#」を付けることで解決しました。しかし、下のように =IF(集計!C134="","",集計!B134) =IF(集計!C134="",集計!B134,集計!C134) と入れ子のなっている関数は =IF(集計!C134="","",集計!B135) =IF(集計!C134="",集計!B134,集計!C135) と一部しか変化してくれません。そこで、質問をしたのです。 xls88さんのやり方はやっても見ましたし、理解も出来ます。 問題は、その間に【=IF(集計!C134="","",集計!B134)】をどうやって一行おきにコピーするかと言うことになります。これですと、「置き換え」機能を使ったほうが早くなります。 =IF(集計!C134="","",集計!B134) の次行に =IF(集計!C134="",集計!B134,集計!C134) を入れていかなければなりません。
- imogasi
- ベストアンサー率27% (4737/17069)
>説明が不足しているのでしょうか。 不足というよりも、質問本体では、何も説明して無いじゃないですか 補足説明でも、良くわからない。 173行なんて、実際のものでなく 10行ぐらいで、実例を上げ、 集計シートと印刷シートの例をあげて、関係を説明しないと、良くわからない。 ーー 当初質問どおりのことは普通ありえません、おかしい現象です。
補足
お叱りはごもっともです。 私の頭の中では、ここで説明したので、これでわかるかなと思ったものです。 http://oshiete1.goo.ne.jp/qa4383986.html 要点は、「二段の関数をコピーできないか」ということです。(ここがぼやけていました) >173行なんて、実際のものでなく 1000行手作業で作っている最中に、インターネットを見て、作業中のエクセルをコピーしたので、173なんて出たのです。 >集計シートと印刷シートの例をあげて、関係を説明しないと、良くわからない。 No2の方に「補足内容」を書きましたから、見てもらえないでしょうか。 8年ほどエクセルを使っている私も、感覚的には「これは出来ないだろうな」と思ってはいますが、ありきたりの関数説明書に載っていない「裏技」を、もしかしたら教えて貰えるかなと思ったものです。
- xls88
- ベストアンサー率56% (669/1189)
文字列式を各パーツ毎にフィルコピーする A1に、IF(集計!C134="", B1に、集計!B134, D1に、集計!C134) としてフィルコピー IF(集計!C134="", 集計!B134, 集計!C134) IF(集計!C135="", 集計!B135, 集計!C135) IF(集計!C136="", 集計!B136, 集計!C136) IF(集計!C137="", 集計!B137, 集計!C137) E1に下記数式を入力 ="="&E10&F10&G10 E2以下にコピー E列を選択、コピーして「形式を選択して貼り付け」の「値」で貼り付け =IF(集計!C134="",集計!B134,集計!C134) =IF(集計!C135="",集計!B135,集計!C135) =IF(集計!C136="",集計!B136,集計!C136) =IF(集計!C137="",集計!B137,集計!C137) 選択状態のまま、データの「区切り位置」で何もせずに「完了」 以上で数式が出現します。
補足
ありがとうございます。 説明不足でした。 http://oshiete1.goo.ne.jp/qa4383986.html で、説明したので、私の頭の中では「追加質問」的な文書になってしまいました。お詫びいたします。 要点を絞ると、IF文が二段になっているのをコピーできないか。ということです。 A1には、=IF(集計!C11="","",集計!B11) A2には、=IF(集計!C11="",集計!B11,集計!C11) と入っています。これが一つのブロックです。(この説明が、今回抜けていました) これを、 =IF(集計!C11="","",集計!B11) =IF(集計!C11="",集計!B11,集計!C11) =IF(集計!C12="","",集計!B12) =IF(集計!C12="",集計!B12,集計!C12) =IF(集計!C13="","",集計!B13) =IF(集計!C13="",集計!B13,集計!C13) と増やしていけないかということです。 一段なら、xls88さんのお説ですが、それを二段にして、500人(二段ですから、1000行)となると、骨が折れます。 これは香典帳です。 会社などは 集計シートA11に、会社名を書きます。 集計シートB11に、従業員一同などと書きます。 個人は 集計シートA11に、個人名を書きます。 集計シートB11は、空白です。 印刷シートには(会社関係ですと) 会社名(少し小さく) 部課名(大きく) 個人ですと、 空白 個人名(大きく) と二段で一セットとなります。 葬儀のときの、筆の立たない町内会長は惨めですが、パソコン入力も出てきたので、ソフトを作ろうかと一念発起したのです。
- higekuman
- ベストアンサー率19% (195/979)
それはおかしいですね。 下に引っ張るだけで、普通に変わりますよ。 もしかして、その計算式自体が文字列としてセルに表示されていませんか?
補足
説明が不足しているのでしょうか。 実は、香典帳を作成しているのです。 集計シートにB=「ご芳名1」C=「ご芳名2」「住所」「金額」欄がありまして、それぞれA,B,C,Dと、1列に書き込むようにしてあります。 印刷シートは下のよう縦に二段になっています。 B1=ご芳名=IF(集計!C173="","",集計!B173) B2=ご芳名=IF(集計!C173="",集計!B173,集計!C173) これは個人の名前は「B173」(二段目)に入り、一段目は空白です。 しかし「**株式会社 従業員一同」と来た場合、従業員一同を大書きして(二段目)、**株式会社は、一段目のチト小さいセルに書き出すようにしました。 そのためややこしくなってしまったようです。
お礼
私が浅はかでした。 このヒントを貰って、初めて出来ました。 今までは =IF(集計!C134="",集計!B134,集計!C134) だけを加工してエクセルをにらみつけていましたが、ヒントのおかげで二段とも加工することですべて解決しました。 ="=" は初めて接する方法です。 頭の悪い私に何べんも根気良く回答いただき、本当にありがとうございました。何べんも何べんもお礼を申し上げます。