• 締切済み

Excelについて教えてください。

質問(1) シート1でA列にチェックを入れた際、 シート2にB列とC列を自動的に表示させるような設定はできますか? やりたいことを簡単にまとめると以下のとおりです。 ■シート1                    ■シート2     A   B   C               A    B    C  1  ○   松  100円         1  松  100円  2       竹 200円 ⇒       2  梅  300円  3  ○   梅   300円 質問(2) 上記設定が可能だとしたら、同じブック内(シート1からシート2への反映)ではなく、 異なるブックへの反映(ブック1のシート1からブック2のシート1への反映)は可能でしょうか。      

noname#174483
noname#174483

みんなの回答

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

難しい式を使う必要もありません。分かり易く簡単な方法は計算に負担も少ないのです。次のようにすればよいでしょう。初めに作業列を作ります。 例えばシート1のD1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",COUNTIF(A$1:A1,A1)) これでA列に○が有れば上から番号が表示されます。 この番号を利用してシート2を作成します。 例えばA1セルに次の式を入力してB1セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$D:$D),"",INDEX(Sheet1!$A:$C,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(B1))) ブック1のシート1からブック2のシート1への反映とするのでしたらブック2のシート1のA1セルに入力する式で,上式の例えばSheet1!$D:$Dとなる部分についてはブック1のその範囲を直接に選択してすることで式を完成するようにすればよいでしょう。 例えばSheet1!$D:$Dは '[ブック1.xls]Sheet1'!$D:$D になりますね。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

回答No.3ですが,誤記がありました。 作成例: シート1:添付図上 A2に =IF(B2="","",COUNTA($B$2:B2)) の間違いです。失礼しました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

丁寧に作っていけば,ごく簡単な関数だけで別ブックだろうがなんだろうが簡単にできます。 手抜きしてカッコイーやり方でやりたいなら,いくらでもムズカシー方法もあります。 作成例。 シート1:添付図上 A2に =IF(B2="","",COUNTA($B$1:B1)) と記入して下向けにつるつるっとコピーしておく シート2:添付図下 A2: =IF(ROW(A1)>MAX(Sheet1!A:A),"",ROW(A1)) B2: =IF(A2="","",VLOOKUP(A2,Sheet1!A:D,3)) C2: =IF(A2="","",VLOOKUP(A2,Sheet1!A:D,4)) それぞれ下向けにコピーして埋めておく 同じブックでまずやってみてうまくできたら,うまくできたシート2のセルをそのままコピーして別ブックに貼り付け,各ブックを名前を付けて保存してみます。すると別ブック間ならどうしたらいいのかも,そこに出来ています。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>シート1でA列にチェックを入れた際、シート2にB列とC列を自動的に表示させるような設定はできますか? シート2に以下の式を入力して右方向に1つ、下方向に適当数オートフィルしてください。 =INDEX(Sheet1!B:B,SMALL(INDEX((Sheet1!$A$1:$A$100<>"○")*1000+ROW($A$1:$A$100),),ROW(A1)))&"" >上記設定が可能だとしたら、同じブック内(シート1からシート2への反映)ではなく、異なるブックへの反映(ブック1のシート1からブック2のシート1への反映)は可能でしょうか。 上記の数式を、他ブックを参照する数式にしてください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 同一Bookでも別Bookでも方法は一緒になります。 ↓の画像で左側Book1・Sheet1に元データがあり、それをBook2・Sheet1に表示するようにしてみました。 Book2のA2セルに =IF(COUNTIF([Book1]Sheet1!$A:$A,"○")<ROW(A1),"",INDEX([Book1]Sheet1!B$1:B$1000,SMALL(IF([Book1]Sheet1!$A$1:$A$1000="○",ROW($A$1:$A$1000)),ROW(A1)))) これは配列数式になってしまいますので、もしこの画面からコピー&ペーストする場合は A2セルに貼り付け後、数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。m(__)m

関連するQ&A

  • excelで、セル内の横並びのデータを、違うシートへ縦並びにしたい

    予定表を作っています。 例えば、シート月予定のセルA1内に「松 竹 梅」と3つ事項を全角スペースで横並びに入力します。 これを、違うシート年予定のセルB2にリンクさせるために、 計算式をB2=月予定!A1にすると、 ただ単に同じ横並びの「松 竹 梅」のように貼り付けるだけです。 ここのところで、セルB2内に、 松 竹 梅 と並び替えたいのですが、わかりません。置換のctrl+Lはだめでした。 どうすればいいのか教えてください。  (カテゴリーが違っていたら、申し訳ありません。

  • エクセル・・教えて下さい

    例えばこれはどうすれば良いですか? シート1 A列  B列 桜組  1234 松組  2246 藤組  2345 松組  2356 シート2 A列     B列 田中真紀子  1234 小泉純一郎  2345 鳩山由紀夫  2356 となっています。 シート2のC列に A列     B列    C列 田中真紀子  1234  松組 小泉純一郎  2345  藤組 鳩山由紀夫  2356  松組 となるようにしたいのですが、C列に何の関数を入れると良いでしょうか? 数字ではなく、文字で読んで欲しいのですが。

  • エクセルで、そのままコピーするには?

    エクセルのコピーに関する質問です。 ブックAとブックBがあって、 ブックBのシート1の内容を、罫線やセルの高さや幅などをそのままブックAのシート2にコピーしたいのです。 ブックAブックBのシート1は表があり、罫線や行列の高さ・幅が複雑に設定してあります。つまりこの行列の高さや幅を崩さずにコピーしたいのです。 Excel2002を使用しています。が、普通にコピー&貼り付けをすると、列や行の幅、高さがブックAのままで、ブックBのが反映されません。 どうすればいいのでしょうか?教えて下さい。宜しくお願いします。

  • Book1.xlsとBook2.xlsのエクセルファイルが有ります。

    Book1.xlsとBook2.xlsのエクセルファイルが有ります。 VBAを作成しているのはBook2.xlsで操作しています。 Book1 Sheet1 A B C 1 6 4 2 2 8 5 3 3 5 1 4 . Book1のシートのB列とC列には整数が入力されています。 A列には計算式が入ります。 例)A1の計算式 =B1+C1 A2の計算式 =B2+C2 A列の結果をBook2 Sheet1 のA列に反映しようとした場合に、 以下のVBAだと、計算式のコピーになってしまうので、計算結果の値を反映する事が出来ません。 A列の計算結果(上記の例だと、6,8,5)をまとめて反映させる方法はありますか? Sub tashizan() Dim thisBook As Workbook Dim workBook1 As Workbook Set thisBook = ThisWorkbook Set workBook1 = Workbooks.Open("C:\Documents and Settings\Book2.xls") thisBook.Worksheets("Sheet1").Range("A1:A100").Copy workBook1.Worksheets("Sheet1").Range("A1") workBook1.Close End Sub 初心者ですので、宜しくお願いします。

  • エクセル

    エクセルの質問です。 Sheet1    A               B     C     D 1 〇〇商事〇〇営業所  Sheet2     A               B     C     D 1 〇〇商事           10    20    30 Sheet1のB1に、Sheet2のA列からSheet1のA1の一部を含むセルを探して、Sheet2のB1を反映させることは可能でしょうか? どなたか教えて頂けると助かります。

  • Excelで複数のシートの結合の仕方を教えて下さい

    複数(30)のブックにa、b、c・・・というシートがあり、a、b、c・・・シートはA列から始まっていて、A列に列見出しがあり、同じ列には同じ種類のデータが入力されている時に、複数のブックの各aシートを、新しく作ったブック31のyシートに結合するVBAを教えて下さい!!! よろしくお願いします!!

  • エクセルのシートの反映について質問します。

    たとえば、下のような(シート1)の表を元に、別のシート(シート2)(シート3)へ自動で、反映させることは可能でしょうか? また”=”を使わずに(シート1)の元データを、全く同じ表として、別のブックへ反映させ 元のデータを変える事によって、すべてのシート、指定されたブックが自動で変わるような、方法はあるのでしょうか。 こういった場合、良い知恵がありましたらよろしくお願い致します。 m(_ _)m (シート1)       A     B    C 1  コードNo  日付   名 2    1     10/1   aaaaaa 3    2     10/2  bbbbbb 4    1     10/3   cccccc 5    2     10/4   ddddddd (シート2)       A     B    C 1  コードNo  日付   名 2    1     10/1   aaaaaa 3    1     10/3   cccccc (シート3)       A     B    C 1  コードNo  日付   名 2    2     10/2  bbbbbb 3    2     10/4   ddddddd

  • 【エクセル】シートが分かれているデータを集める

    あるブックにシートが10シートあるとします。 これらのシートの同じ列を、別のシートにまとめたいです。 列には60行くらいのデータがあり、それぞれのシートの行数は同じです。 まとめるシートは、    A列        B列      C列        D列   シート1のA列、シート2のA列、シート3のA列、シート3のA列・・・ のようにしたいです。 関数などを試してみましたが、列設定ではなかなかうまくいかず、 すっきりと持ってくることができません。 知恵をお貸しいただけないでしょうか。 よろしくお願いいたします。

  • 日付を基準に 形式の違う表にデータを反映させたい

    Windows8.1を使っています。 新しい職場でデータ入力等の仕事なのですが、同じデータの入力なのに、入力する表のパターンが違うため 二度手間・三度手間なことをしています。 1つの表に入力したデータが、自動で別の表に反映させることができないかと思い、ご相談です。 自分でなんとか・・・と思いましたが、どこをどうして良いのか分からず・・・よろしくお願いいたします。 エクセルで、全く形式の違う表が別々のBookにあります。 Book(1)のシート1には、A列をあけてB列に上から日付が並んでます。 この時、同じ日付のデータ入力が多数あるので、同じ日付で12行あります。 その下に翌日の日付が12行、またその下に12行・・・といった感じです。 Book(1)シート1    A  B    C      D      E  F  G   H   I     J     K    L  M・・ 1                    2014年7月                        2  ×  日付  得意先  現場  × ×  ×  名前1  ◆  ◆  名前2  ◆  ◆ ・・   3  ×  7/1   山    田中邸           ✓  TRUE  1  ✓  TRUE  1       4  ×  7/1   海    鈴木邸                       ✓   TRUE   2      5  ×  7/1   川    林邸            ✓  TRUE  2                  ~~~~~~~~ 14 ×  7/1                                            15 ×  7/2                                            16 ×  7/2                                            同じ日付12行に、得意先・現場を入力。名前の列にはチェックボックスを作り、チェックしたら右横のセルに反映します。7/1のH3にチェックをしたら、◆I3はTRUEになり、◆J3に「1」と反映するようにしました。 A・E・F・G列は、また違う書式に反映するデータを入力しているので、ここでは「×」としました。 同じ日付で12行ありますが、その日の現場数が5件なら5行、10件なら10行の入力です。 このシート1の表を基に、Book(1)のシート2には、シート1のチェックボックスの結果が反映するようにしました。 チェックボックスにチェックをしてTRUEになった行の「日付」「得意先」「現場」を、名前ごとに見られるような表です。(これは、作っておくと後々楽かなあという軽い気持ちで作りました。)   Book(1)シート2     A     B      C      D     E      F      G     H      I  ・・・   1 日付  得意先  現場   日付  得意先  現場  日付  得意先  現場・・・・  2 7/1      山    田中邸   7/1    山     田中邸                   3 7/1      川    林邸      7/1    海     鈴木邸                   4  5 ものすごく見づらくて分かりづらいと思いますが、Book(1)のシート1のH3にチェックをしたら、シート1のB3・C3・D3のデータが シート2のA・B・C列に反映します。シート1のK列にチェックしたら シート2のD・E・F列に。シート1のN列にチェックしたら シート2のG・H・I列に。 シート1の名前1さんのデータは、シート2のABC列、名前2さんはDEF列、名前3さんはGHI列、といった感じです。 問題はここからで、このBook(1)のデータをBook(2)の表に自動で反映できないものかと。。。 Book(2)の表がまた全然違う表なんです。 Book(2)     A      B     C     D      E      F      G      H    I    J    K   1 2 3   日付   曜日    名前1   名前2   名前3   名前4    名前5   名前6 4  6/21 5   6/22 6  6/23 ~~~~~~~~~ 14  7/1 15  7/2 16  7/3 このBook(2)の日付と名前の交わるセルに、Book(1)シート1もしくはシート2の「得意先」「現場」のデータを反映させたいのです。 Book(1)シート1もしくはシート2の日付と Book(2)の日付を連動させて・・・ ややこしいんですが、Book(1)は日付が1日~末日。Book(2)は21日~翌20日。 Book(1)は一月分のデータ(あるのはシート1・シート2くらい)、Book(2)は一年分のデータ(シートが月で分かれていて、シートが2014.1 2014.2 2014.3 2014.4・・・というようになっています。 Book(2)は昔からこの表でやってきたので、基本の形は変えたくないようです。 ただ、Book(2)の表は入力するセルが各一つしかないので、見た目は同じようにしながら作り直そうかと思ってます。 どうか、ご指導・アドバイス等お願いいたします。 知識がないばっかりに、分かりづらく、説明も下手くそですみません。 そして、画像の貼付に何度も失敗し、手入力の見づらい画面ですみません(T T))

  • エクセルについての質問です。

    エクセルについての質問です。 BOOK1、BOOK2、BOOK3のエクセルデータがあり BOOK1をメインと考えて BOOK2、BOOK3のシートの指定したセル (たとえばシート1のA列1、2、3行B列1、2、3行C列1、2、3行) からデータをBOOK1のシート1にその部分のデータを 取り込む方法が知りたいです。 色々と調べてみましたがわかりません。 初心者ですのでご教授お願いします。 宜しくお願いします。

専門家に質問してみよう