[[20180821153157]] 『シートから別シートへ』(やや) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シートから別シートへ』(やや)

またよろしくお願いします。

こういう事をしたいのですが関数を使って出来ないでしょうか?

1シート 行と列です。

  A B      C      D     E
1 201701 大阪店   りんご    100
2 201702 名古屋店  みかん    200
3 201704 福岡店   りんご    300
4 201705 福岡店   めろん    400
5
6
7




150

これを
別シート 福岡店用2017年

       A B C D E
1     1月 2月 3月 4月 5月
2りんご          300
3みかん
4めろん            400

別シート  大阪店用2017年
       A B C D E
1     1月 2月 3月 4月 5月
2りんご  100        
3みかん
4めろん            

かなりの行数がありこれをなんとか
関数で出来ないでしょうか?
というより関数しかわかりません。
どなたか教えて下さい
お願いします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 まず、下をはっきりさせておいて方が、良いです。

 >1 201701 大阪店   りんご    100 
      ↑
  これが日付なのか、文字なのかわからない。

 >1     1月 2月 3月 4月 5月

 1月〜X月までが、文字列で書かれているのかただの数値なのか不明。

 >りんご
 >みかん
 >めろん

 これらも、予め入力してあるんですよね?

(BJ) 2018/08/21(火) 16:19


はい 

たぶん 201701が文字列で
1月が標準です。

(やや) 2018/08/21(火) 17:03


 >201701が文字列で

 わざわざ文字列にしてるんですか?普通に入力したら数値だと思うんですけど。
(コナミ) 2018/08/21(火) 18:09

TYPE関数で調べれば数値が表示されますよ。
1 なら 数値で
2 なら 文字列 だったと思います。

=TYPE(A1)
(隠居じーさん) 2018/08/21(火) 19:04


    |[A]   |[B]     |[C]   |[D]
 [1]|201701|大阪店  |りんご|100
 [2]|201701|福岡店  |りんご| 50
 [3]|201702|名古屋店|みかん|200
 [4]|201704|福岡店  |りんご|300
 [5]|201705|福岡店  |めろん|400
       ↑
 返信の仕方が悪かったようなので、多分ただの数値だろうと勝手に判断。

 福岡店
    |[A]   |[B]|[C]|[D]|[E]|[F]
 [1]|      |1月|2月|3月|4月|5月
 [2]|りんご| 50|  0|  0|300|  0
 [3]|みかん|  0|  0|  0|  0|  0
 [4]|めろん|  0|  0|  0|  0|400

 B2
 =SUMPRODUCT((Sheet1!$A:$A=201700+SUBSTITUTE(B$1,"月",""))*(Sheet1!$B:$B="福岡店")*(Sheet1!$C:$C=$A2)*(Sheet1!$D:$D))

 SumIFSは、使ったことが無いので・・・。
 って、どこかで書いたような・・・・?
 この方と同じ?
[[20180809144445]]『仕損費の集計』(toto)

 因みにこんな感じに複数あったら、足しこむけど・・・。

 201701|福岡店  |りんご| 50
 201701|福岡店  |りんご|150
(BJ) 2018/08/21(火) 20:29

BJさんがSUMPRODUCT関数の例を示されてますけど、私は逆にSUMIFS関数のほうが好みなので、そちらを紹介します。

とりあえず下案ではどうでしょうか?

 注1 下記案は、用賀店など、店名に「用」が入っているとダメなので注意!
 注2 一度名前を付けて保存しておいてください。

「〇〇店用××年」の各シートで以下の作業をしてください。
【実際の作業としては、以下の措置をしたマスターシートを用意して、シートごとコピーして店舗・年次ごとのシートを作成するほうが手っ取り早いと思います。】

 (1)作業行として5行ほど行を挿入します。(あとで非表示にしますのでお好みで増減してください。)

 (2)A1セルに「シート名」と入力します。

 (3)A2セルに「店名」と入力します。

 (4)A3セルに「年次」と入力します。

 (5)B1セルに以下の数式を入力します。
   =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))

 (6)B2セルに以下の数式を入力します
   =LEFT(B1,FIND("用",B1)-1)

 (7)B3セルに以下の数式を入力します
   =SUBSTITUTE(RIGHT(B1,5),"年","")

 (8)B7セルに以下の数式を入力します。※見やすさの都合で改行しましたが、1行で入力してください。
   =SUMIFS(まとめ!$D:$D,まとめ!$B:$B,$B$2,まとめ!$A:$A,$B$3&TEXT(SUBSTITUTE(B$6,"月",""),"00"),
    まとめ!$C:$C,$A7)

 (9)(8)を行方向、列方向にコピー(フィル)してください。

 (10)作業行の1〜5行目を非表示にしてください。

数式だけでも、シート名を抜き出せますのでこういうやり方もできるとおもいます。

(もこな2) 2018/08/21(火) 21:22


皆様 いろいろと
ありがとうございます。

感謝します。

上記を見ながら 今日 作ります。

ちなみに 文字列なのは 頂いたデーターが文字列になっていて・・・・。
いつも困っています。

変換やってみます。

(やや) 2018/08/22(水) 09:04


恐れ入ります。
BJさんのやり方がわかりやすくて 
これを応用して制作中なのですが ひとつだけ
ひかかるんです。
教えて下さい。

実は みかんの後に(甘)のような( )を入れています。
この( )が あるがゆえに 反映できません。
( )をはずせば できるのですが データーに 
できれば ( ) を入れたいのです。

どうすればいいですか?

教えて下さい。
(やや) 2018/08/22(水) 11:43


よく考えたら 商品コードで数値化されたものを使い
その列は非常時にすれば 出来ますね。

応用用次第でどうにでも 出来ますね。

今回は 本当に勉強になりました。

関数ってすごいです。

いままで苦労してましたから 教えて下さった皆様
本当にありがとうございました。

(やや) 2018/08/22(水) 12:05


 文字なら、こんな感じ。

 TEXT(201700+SUBSTITUTE(B$1,"月",""),"000000")

 2017 & TEXT(SUBSTITUTE(B$1,"月",""),"00")
(BJ) 2018/08/22(水) 16:23

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.