エクセル初心者です。
お知恵をお貸しください。
例えば「預金」というシートのA1のセルに「会費」という文字と、B1のセルに123円という金額が入っているとすると、その隣の「会費」というシートのA1のセルに同じ「会費」という文字とB1のセルに123円という同じ金額が入るような式を組みたいのです。
「あいう」というシートには「会費」の他にもいろいろと項目があります。例えばA2「備品」B2「150円」という感じです。それぞれの「会費」「備品」というシートにそれぞれ当てはめるようにするにはどうしたらいいでしょうか?
わかりづらくてすいませんが、教えてください。

質問者からの補足コメント

  • すいません9行目の「あいう」というシートではなく「預金」というシートです…

      補足日時:2017/04/14 23:45

A 回答 (2件)

まず、各シートのどこかにシート名を入力するセルを用意してください。

仮にAA1とします。
関数によって表示させる事もできるようですが、ExcelOnlineでは使えない為試せません。
参考:https://kokodane.com/kan54.htm

まず試そうと思いつくのはVLOOKUPですが、この場合"会費"や"備品"が複数回出てくる為、
そのままでは使えません。
最初に出てきた"会費"を"会費-1"、2回目に出てきた"会費"なら"会費-2"といったように、重複しないものであらわす必要があります。
=A1&"-"&COUNTIF(A$1:A1,A1)
とすれば、「A1に入っているデータ」と「そのデータがA1からその行のA列までに何個あるか」を"-"でつないだものを表示する事ができます。

可能であればA列の左に新しく列を挿入し、これを用いれば、VLOOKUPで簡単に抽出する事ができます。
=VLOOKUP(AA$1&"-"&ROW(),預金!A:C,3,FALSE)
で「そのシート名に一致するデータが、預金シートのA列に、その行番目に出てきた行」の、C列のデータを表示させる事が可能です。(列を挿入したので、元のB列のデータがC列に表示されています)
A列のデータは常にシート名に一致しているはずなので、わざわざ抽出しなくても…

しかし、おそらく様式を変えることはできない場合が多いと思われます。
その場合はMATCHを使って、何行目のデータが一致するデータであるかを取得し、
その行番号を利用して、INDIRECTにて該当データを表示させましょう。
仮にC列に"会費-1"等を表示しているとします。
=INDIRECT("預金!B"&MATCH(AA$1&"-"&ROW(),預金!A:A,FALSE))
これで上記VLOOKUPの内容と同様の事ができました。

それぞれ必要なだけコピーしてくださいね。
該当数以上に表示させようとするとエラーになります。
必要であれば、エラーとなる場合は空白とする式も可能です。
    • good
    • 0
この回答へのお礼

ありがとう

ご回答ありがとうございました!
一度試してやってみます!

お礼日時:2017/04/15 00:45

こんばんは!



「預金」シートのA列項目名が入っているシートがあるのですね。
仮に「会費」シートの場合
A1セルに
=IFERROR(INDEX(預金!A$1:A$1000,SMALL(IF(預金!$A$1:$A$1000="会費",ROW($A$1:$A$1000)),ROW(A1))),"")

配列数式ですので、Ctrl+Shift+Enterで確定!
A1セルのフィルハンドルでB1セルまでコピー → そのまま下へコピー!

※ 「備品」シートの場合は数式内の
”会費”の部分を変えるだけです。

※ 本来であれば各シートの使っていないセルに「会費」とか「備品」など表示したい項目名を入力しておき
そのセルを参照するようにすれば同じ数式で対処できます。

※ 項目ごとのシートがあるのであれば
A列は表示させる必要がないような気がします。m(_ _)m
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング