アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル リストボックスの値に一致したものを別シートへ転記する方法(勘定科目)が分からず困っています。みなさんのお知恵を貸していただきたくお願いいたします。


Sheet1に
  A     B     C        D          E        F    G
 月    日付     科目     摘 要      支払先      金額  備
 12   1     通信費     電話代       NTT      100
 12   15    地代家賃   店舗代      山田不動産   300
 12   16    旅費交通費  飛行機利用  エアーアジア    400
 01   3     消耗品     けしごむ     山本文房具   500
 01   4     福利厚生   熱海パーク    熱海管理     600
 02    5    雑費     お菓子      おおぜき      700
 02   15    通信費     電話代       NTT      100
というデータのシートがあります。

Cの科目はリストボックスで勘定科目が入っており、選択式になっています。
給料賃金
外注工賃
地代家賃
租税公課
荷造運賃
水道光熱費
旅費交通費
通信費
広告宣伝費
接待交際費
損害保険料
消耗品費
福利厚生
雑費

Cの勘定科目でシート別に表示させたいのですが、
このやり方がわかりません。

シート1のhには
=IF($C3="","",$C3&COUNTIF($C$1:$C3,$C3))
を入れています。
これを元に別シートごとに内容を転記したいのですが
これがうまくいきません。

シート2 給料賃金
シート3 外注工賃
シート4 地代家賃
シート5 租税公課
シート6 荷造運賃
シート7 水道光熱費
シート8 旅費交通費
シート9 通信費
シート10 広告宣伝費
シート11 接待交際費
シート12 損害保険料
シート13 消耗品費
シート14 福利厚生
シート15 雑費

また別シートには(例シート9 通信費)
こういった形で表示させたいです。

                   通信費

  A     B     C         D         E    F
 月    日付    摘 要      支払先      金額    備考
 12   1     電話代       NTT      100
 02   15    電話代       NTT      100


ご指導のほどお願いいたします。

A 回答 (4件)

No1です。


C列は不要でしたね。
式のコピーが使えるので簡単だと思いますが、不要な列なので非表示にするか
C列で仕切り直しで式を入力して以降右へコピーして下さい。
    • good
    • 0

N02です。


No1の方のほうが簡単ですね。
No1の方法だと、C列以降がずれが発生、F列(備考)空白の時、0が表示される問題があります。
以下のように、修正すればOKかと。
①A,B列用
A3へ
=IFERROR(INDEX(Sheet1!A:A,MATCH($A$1&ROW(A1),Sheet1!$H:$H,0)),"")
と入力し、B列へコピー

②C,D,E列用
C3へ
=IFERROR(INDEX(Sheet1!D:D,MATCH($A$1&ROW(A1),Sheet1!$H:$H,0)),"")
と入力し、D,E列へコピー

③F列用
=IFERROR(INDEX(Sheet1!G:G,MATCH($A$1&ROW(A1),Sheet1!$H:$H,0))&"","")
と入力

④A3~F3をオートフィルで下の行へコピー
    • good
    • 0
この回答へのお礼

たびたび、ありがとうございます。なかなかいい具合に仕上がってきました。

お礼日時:2016/12/09 21:27

Sheet9のC1には ”通信費” が設定されていることとします。

(添付図参照)

①Sheet9のA3に以下の式を入力します。(A,B列用)
=IFERROR(INDEX(Sheet1!A$1:A$10000,SMALL(IF(Sheet1!$C$2:$C$10000=$C$1,ROW(Sheet1!$C$2:$C$10000),""),ROW(A1))),"")
配列数式の為、Shift+Ctrl+Enterキーを押下してください。
それをB列へオートフィルでコピーします。

②Sheet9のC3に以下の式を入力します。(C,D,E列用)
=IFERROR(INDEX(Sheet1!D$1:D$10000,SMALL(IF(Sheet1!$C$2:$C$10000=$C$1,ROW(Sheet1!$C$2:$C$10000),""),ROW(A1))),"")
配列数式の為、Shift+Ctrl+Enterキーを押下してください。
それをD,E列へオートフィルでコピーします。

③Sheet9のF3に以下の式を入力します。
=IFERROR(INDEX(Sheet1!G$1:G$10000,SMALL(IF(Sheet1!$C$2:$C$10000=$C$1,ROW(Sheet1!$C$2:$C$10000),""),ROW(A1)))&"","")
配列数式の為、Shift+Ctrl+Enterキーを押下してください。

④A3~F3を選択し、オートフィルで下へコピーします。

以上で、完成です。

尚、Sheet1は10000行まで対応しています。もっと、行数が増える場合は、10000をもっと大きい値に変えてください。
完成したイメージを添付します。
「エクセル リストボックスの値に一致したも」の回答画像2
    • good
    • 0
この回答へのお礼

丁寧にありがとうござます。非常に参考になります。

お礼日時:2016/12/09 21:27

各シートのA1に(A1でなくてもいいですが)科目名を入れれば、全シート共通の式でできます。



2行目が項目名として
A3に
=IFERROR(INDEX(Sheet1!A:A,MATCH($A$1&ROW(A1),Sheet1!$H:$H,0)),"")
右と下へコピー
    • good
    • 0
この回答へのお礼

ありがとうございます!こちらでできました。取り急ぎ御礼まで

お礼日時:2016/12/09 21:26

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