情報を入力すると反映されるシート【説明画像あり】

このQ&Aのポイント
  • 情報を入力すると反映されるシートの利用方法と、列幅を変更した際の問題について解決方法を教えてください。
  • 【反映シート】の黄色セルに任意の情報を入力すると、情報が反映されます。しかし、列幅を変更したフォーマットにすると反映されない問題が発生します。どのように関数を変更すれば良いでしょうか?
  • 【反映シート】では、【入力シート】の黄色セルに入力した情報が反映されます。しかし、列幅を変更したフォーマットにすると反映されない問題が発生します。解決方法を教えていただきたいです。
回答を見る
  • ベストアンサー

情報を入力すると反映されるシート【説明画像あり】

図1の、【入力シート】の黄色セルに、任意の情報を入力すると ⇒【反映シート】図2のように情報が反映されます。 しかし、【反映シート】を図3のように、列幅を変更したフォーマットにすると 図2のように反映されません 図3の列幅にしても、反映されるようにするには、どのように関数を変更すれば良いでしょうか?? ご存知の方、いらっしゃいましたら、宜しくお願いします。 【関数説明】 ★図2のA10セルに下記の関数が入っています。  同関数を、A10から、右に、L10までオートフィルドラック。  さらに、下に、L14まで、オートフィルドラックします。 =IF(MOD(COLUMN(A1),4)=1,IF(INT(COLUMN(A1)/4)*5+ROW(A1)>入力シート!$B$35,"",INT(COLUMN(A1)/4)*5+ROW(A1)),IF(AND(MOD(COLUMN(A1),4)=2,OFFSET(A10,0,-1)<>""),TEXT(DATE(YEAR(入力シート!$B$39&"1日"),MONTH(入力シート!$B$39&"1日")+INT((COLUMN(A1)-1)/4)*5+ROW(A1)-1,1),"e"),IF(AND(MOD(COLUMN(A1),4)=3,OFFSET(A10,0,-1)<>""),MONTH(DATE(YEAR(入力シート!$B$39&"1日"),MONTH(入力シート!$B$39&"1日")+INT((COLUMN(A1)-2)/4)*5+ROW(A1)-1,1)),IF(AND(MOD(COLUMN(A1),4)=0,OFFSET(A10,0,-1)<>""),入力シート!$B$38+IF(OFFSET(A10,0,-1)=入力シート!$B$36,入力シート!$B$37,IF(OFFSET(A10,0,-1)=入力シート!$C$36,入力シート!$C$37,0)),"")))) ★★★上記関数は、教えてgoo回答者様にご教授いただきました★★★ ★B40には下記の関数が入っています。 =DATE(YEAR(B39&"1日"),MONTH(B39&"1日")+B35-1,25) ※図1と図2は、同じブック内にある、別のシートです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

数式の意味を理解しないまま解決としていたし、解決後は回答できないことから また質問するのではないかと思っていました。 前回 http://okwave.jp/qa/q6697923.html の回答として まず、入力シートにおいて名前の定義 月額 =入力シート!$B$38 最終支払日 =入力シート!$B$400 支払回数 =入力シート!$B$35 初回支払日 =入力シート!$B$39 賞与金額1 =入力シート!$B$37 賞与金額2 =入力シート!$C$37 賞与月1 =入力シート!$B$36 賞与月2 =入力シート!$C$36 A36セル 1 A37セル =IF(A36="","",IF(A36>支払回数,"",SUM(Sheet2!A36,1))) 下へオートフィル B36セル =1*TEXT(初回支払日&"1日","e") B37セル =IF(A37="","",B36+(C36>C37)) 下へオートフィル C36セル =1*TEXT(初回支払日&"1日","m") C37セル =IF(A37="","",MOD(C36,12)+1) 下へオートフィル D36セル =IF(A36="","",SUM(月額,(C36=賞与月1)*賞与金額1,(C36=賞与月2)*賞与金額2)) 下へオートフィル A41:D45セルをカット&ペースト A46:D50セルをカット&ペースト

aoyama-reiko
質問者

お礼

某HN Chromate 様 図解して頂き、大変わかりやすかったです。ありがとうございます。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

いたずらに結合セルを作って対応することは式をより複雑なものにします。 できるだけ結合セルを作ることは避けるべきです。列の幅を広くして対応するようにしましょう。 どうしても結合セルにしたいということでしたら提案された式の意味をよく理解してご自分で式を作ってみることでしょう。

aoyama-reiko
質問者

お礼

KURUMITO 様 毎回、毎回、高度な関数をご教授いただき、大変ありがとうございました。 近い内に、また、違った内容の質問をさせていただきます。 お時間が、ございましたら、宜しくお願いします。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

>列幅を変更した 確かに変更したかもしれませんが、もっと大きな編集をしていますね。 1枠を複数の列に分割して、表示エリアはセルの結合をされています。 これでは、 >列幅を変更した。 にはあたりません。 図2では、各々の枠(列)が連続しています。 図3では、各々の枠の先頭位置が連続していません。 オートフィルドラックは、連続していなければ、期待する結果は得られません。 レイアウトを変更するたびに、質問するつもりですか? ちなみに、図3の各々の枠の先頭に、図2の対応する列の式をそのまま、コピー&ペースト してください。 なぜ、セルを分割・結合したのでしょう。タダ単に、列幅を変更するだけでよかったのに。

aoyama-reiko
質問者

お礼

kokorone 様 大変、わかりやすく、説明して頂き、大変ありがとうございました。

関連するQ&A

  • 情報を入力すると、別シートへ反映【説明画像あり】

    タイトルの件、質問させて頂きます。 【前提1】⇒【図1シート】と【図2シート】の2つのシートがが1つのブックにあります。 【前提2】図1の最終支払日には下記の関数が入っています↓↓ =DATE(YEAR(B39&"1日"),MONTH(B39&"1日")+B35-1,25) 【ステップ1】:【図1シート】の【黄色セル】に【任意の情報】を入力します。 【ステップ2】:【図2シート:何も情報が入っていない】が、【図3シート】のようになります。 【ヒント】:B36、B37、C36、C37の賞与金額の、反映を除いては、下記の関数が入力されおり      月額の金額は、最終支払日まで、きれいに、入力されます。      後は、賞与の金額を、賞与の月に、足し算をさせたいです。 例:平成23年6月→20,000【月額10,000+賞与10,000】   平成23年12月→30,000【月額10,000+賞与20,000】   平成24年6月→20,000【月額10,000+賞与10,000】      【範囲】A37からL41まで【行:A37からL37、列:A37からA41】   【関数】↓↓【A37】セルに入力されている関数です。 =IF(MOD(COLUMN(A1),4)=1,IF(INT(COLUMN(A1)/4)*5+ROW(A1)>入力シート!$B$35,"",INT(COLUMN(A1)/4)*5+ROW(A1)),IF(AND(MOD(COLUMN(A1),4) ↑本関数は、教えてGOO回答者様に、ご教授いただきました。 ご存知の方、宜しくお願いします。

  • エクセル カレンダー 自動入力について

    シート1にカレンダー 、シート2に入所の部屋・氏名・時間・日程  退所も部屋・氏名・時間・日程入力したら自動でカレンダーに入るように作成しています。 入所に部分(緑色)はできたのですが下側の黄色の部分がうまくいきません。 すみませんが、よろしくお願いします。 緑色の所の関数⇒=IFERROR(IF(OFFSET(A5,MOD(ROW()-ROW(A$5)+1,8)*-1,0)="","",INDEX(Sheet2!$B:$B,SMALL(INDEX((Sheet2!$C$2:$I$20<>LOOKUP(10^5,A$4:A4))*10^5+ROW(Sheet2!$C$2:$I$20),),MOD(ROW()-ROW(A$5)+1,8)),)&""),"") 黄色い部分の所に関数を教えていただきたいのですが よろしくお願いします。

  • この式はなぜエラー #VALUE! になるのだろう?

    この式はなぜエラー #VALUE! になるのだろう?   A  B  C  D 1    92 95 96 2 3  60 67 99 4  99 13 74 5  92 58 96 6  93 59 10 7  81 51 10 8  81 95 98 9  88 45  6 範囲 A3:C9 に上図のデータがあると仮定します。そして、 1行目の各セルに次の値を返したい、というのが問題です。 B1: セル A3、A5、A7 の最大値 C1: セル B4、B6、B8 の最大値 D1: セル C5、C7、C9 の最大値 1行目の各セルに次の配列数式を入力すれば希望通りの値が得られます。 B1: {=MAX(OFFSET($A3,0,0,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,1,1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,2,2,5,)*MOD(ROW(C1:C5),2))} OFFSET関数の引数 0、1、あるいは 2 のところは COLUMN関数で置き換えられるはずと考えて B1: {=MAX(OFFSET($A3,COLUMN(A1)-1,COLUMN(A1)-1,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,COLUMN(B1)-1,COLUMN(B1)-1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,COLUMN(C1)-1,COLUMN(C1)-1,5,)*MOD(ROW(C1:C5),2))} としたところ、いずれもエラー #VALUE! が返ってきます。 なぜエラーになるのか理解できません。どなたか私にアドバイスをいただけませんか? 参考までに申し上げると、http://okwave.jp/qa/q5897615.html の質問の回答を考えているときに、上の問題に遭遇しました。

  • 任意のセルデータを削除するには【説明画像あり】

    タイトルの件、下記の画像を使って質問させて頂きます。 【前提1】図1【入力シート】と図2【反映シート】のシートが1つのブックに別べつのシートであります。 【前提2】図1の最終支払日には下記の関数が入っています↓↓ =DATE(YEAR(B37&"1日"),MONTH(B37&"1日")+B35-1,25) 【ステップ1】:図1のように、入力シートの黄色セルに【任意の情報】を入力します。 【ステップ2】:図2のように、【反映シート】が、反映されます。 ポイント:最終回が、平成24年2月のため、平成24年3月のセル情報はすべて削除されるようにし      たい ご存知の方、宜しくお願いします。

  • 縦書きの表を以下のようにするには?

      A   B  C   D   E  F  G 1期日 場所 番号 数量 合計 23/1   A  7   20  60 33/2   A  8   30  80 43/3   B  9   45  75 53/4   D  5   15  90  のような形の表を  期日 3/1 3/2 3/3 3/4  場所  A  A  B  D  番号 7  8  9  5  数量 20 30 45 15  合計 60 80 75 90 と書き換えたり、別シート表示させたりする場合には『型式を選択→行列を入替貼付』またはTRANSUPOSE関数を使用するのは知っています。検索行列関数で表示するにはどうすればいいでしょうか?  関数式で元シートに表示させる場合は、INDIRECT,ADRESS,OFFSET,INDEX,INT,MOD,ROW,COLUMN関数を使い、数値を+-したりします。  個々の1つ1つの関数は『こう使う』というのは何となく分かるのですが、これらが幾重にも複合ネストされると『何でこのセルがこの位置に移って表示されるのか理屈が分かりません。  以前、似たような質問で回答いただき、目的は果たせましたが、未だに何故そうなるのか理解できておりません。  縦→横に入替え、またはその逆の表示をさせたい場合、これらの関数は必ず出てきます。  上記の元の表にE列に合計を表示してますが、F列以降にデーターが増加すると  下の配列表示にするにはINT,MOD,ROW,COLUMN関数のどこの数値を増減するのか相互関係が分かりません。  参考書を買い、独学で学習していますが、難しいです。皆さんはどのようにして覚えられたのか、お聞きしたいです。  やはりPCスクールに行かないと無理なんでしょうか?この辺の関数を理解できそうなサイトをご存知だったら教えていただけないでしょうか?  私はINDIRECT,ADRESS,OFFSET,INDEX,INT,MOD,ROW,COLUMN関数等を凄く苦手にしています。  

  • Offset indirectなどの使い方(Excel関数)

    次のような関数に直面しました。 =IF(OFFSET(INDIRECT("'ef="&$A$1&"'!B2"),ROW()-2,COLUMN()-2)="","",OFFSET(INDIRECT("'ef="&$A$1&"'!B2"),ROW()-2,COLUMN()-2)) この関数全体の解説もしていただきたいのですが, 'ef=の'の使い方、!の使い方、ROW()-2の部分などにも 多少、説明を加えていただけると助かります。 なにか私のほうで情報提供が不足していれば教えてください。

  • 【Excel】数式のコピー(再質問)

    Excel2003を使用しています。 http://personal.okwave.jp/qa3119521.html で、一度質問させていただいているのですが、再質問です。 Sheet1からSheet2へダイレクトにデータ参照させるのは難しいとのことで、作業用シートを経由して参照する方法を教えていただきました。 下記の数式を作業用シート(仮にSheet3)のA1セルに入力後、下方向へコピーすると、転記するべきデータが縦方向に表示されるようですが、A10セル以降が不要なデータが3行ずつ入り込んできているようで、うまく表示されません。  A1 = OFFSET(Sheet1!$B$7,INT((ROW()-1)/6),MOD(ROW()-1,6)) 次に、Sheet2のC7セルに以下の式を貼り付け、右方向と下方向にコピーするとよいとのことでした。  C7 = OFFSET(Sheet3!$A$1,(ROW(A1)-1)*9+MOD(COLUMN(A1)-1,9),0) 数式の中身を少しいじってみたのですが、うまくいきません。 どこを変更すればいいでしょうか?よろしくお願いします。

  • 入力したデーターを別シートに ~その2

    入力したデーターを別シートに ~その2 いつもお世話になります。 Windows XP EXCELL2003 です。 http://okwave.jp/qa/q5949642.html でご指導いただき再度詳細にテストした結果、不具合が出ました。 ご指導いただいたそのときは6月度のみではうまくいきました。 1  NO3 Sheet2のB6: =IF(SUMPRODUCT((Sheet1!$A$1:$A$100=$A6)*(Sheet1!$C$1:$C$100<=DATE($A$1,$A$2,COLUMN(A6)))*(DATE($A$1,$A$2,COLUMN(A6))<=Sheet1!$D$1:$D$100)),"○","") 右にコピー,下にコピー。 「問題点」 退場日が泊数に含まれます NO3 の画像で言うと 201(A6) B6~E6  F6が1泊多い A2 6月1日~6月3日  (2泊)  A4 6月8日~6月11日  (3泊)  A6 6月3日~6月5日 (2泊)  2  NO2 数式を =IF(OR($A6="",COUNTIF(Sheet1!$A$2:$A100,$A6)=0),"",IF(AND(B$4>=INDEX(Sheet1!$C$2:$C$100,SMALL(IF(Sheet1!$A$2:$A100=$A6,ROW($A$1:$A$99)),1)),B$4<INDEX(Sheet1!$D$2:$D$100,LARGE(IF(Sheet1!$A$2:$A$100=$A6,ROW($A$1:$A$99)),1))),"○","")) 「問題点」 泊数はいいのですが12ヶ月分シートがあって「記入」で 1月 2月 3月と順次入力している内は良いのですがその先を追加で入力するとなぜか 4月~12月のシートには1日~30若しくは31日に○が印されます。 再度確認の意味で御願いしたいのは 部屋の泊の管理をしたい。 例 1「記入」 A2(201) 06/01~06/03 2泊 A3(201) 06/03~06/06 3泊 の値が「6月」シートB6~F6に ○ 印がつくこと 2各月シートの A6~は 201 202 203という具合に予め入力しています。 ※ 参照は画像を参照下さい。 お手数ですがご指導いただきたく宜しく御願いします。

  • 折れ線グラフ グラフ内に 0をグラフに反映させないよにす

    度々、すいません。 よろしくお願いします。 添付データ内にあるグラフのようにG2、H2、I2のセル内に「関数が入った状態」でグラフの表示方法を系列2のように、0を認識しないようにしたいのですが? 各セル内にあらかじめ、ほかの場所から、セルの「数値だけ」、反映させるように、関数が入っているのですが。 例)=IF(ISERROR(INDEX($H$100:$H$195,COLUMN(A1),1)),"",INDEX($H$100:$H$195,COLUMN(A1),1))や   =OFFSET($H100,COLUMN(B5)-COLUMN($B$5),0)のような関数が入っています。 セル内に数式が何も入っていないなら、ただ 0をグラフに反映させないようにする関数(方法)があるみたいなんですけど。 関数と関数をたし合わせてやるような、感じになるのでしょうか? いろいろ、やってみたのですが、どーもうまくいきません。 どなたか、お詳しい方、よろしくお願いします。    

  • 別シートの参照値を反映したい

    別シートの参照値を反映したい book内にSheet1~4まであります。 Sheet1のA1には、Sheet2~4という文字列が入ります。 Sheet1のB1には、Sheet2~4のセルの番地のみ入力されています。 Sheet1のA5に「="="&A1&"!B1"」と入力した際に文字列ではなく参照先の数字が反映される ようにしたいのですが、可能でしょうか? ちなみにコピーして値のみ貼り付け、F2を押せば数字が反映されるのですが、関数を残して おきたいと考えています。 ご教示お願いいたします。

専門家に質問してみよう