Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
在庫管理時の記載短縮
投稿日時: 20/03/05 08:25:48
投稿者: ronboi

お世話かけますよろしくお願いいたします。
 
在庫管理のさい、在庫の数が多いため、数字(番号)で品名のかんりを行っています。
在庫の出入りが激しく、困っています。
 
そこで、sheet1に記入した文字を sheet2に自動でコピーしたいのです。
その際に重複している品名(番号)を重複させずにコピーしたいのですが
どうにか成りますでしょうか。よろしくお願いします。
  
   sheet1      sheet2   このような感じにしたいのですが
        1         1        よろしくお願いします。
        2         2
        3          3
        2         4
        2        5
        1        6
        4
        5
        2
        6

回答
投稿日時: 20/03/05 10:06:21
投稿者: んなっと

「自動」となると「重複の削除」はだめなんでしょうね。
関数を使った方法になるようです。
作業列は使っても問題ありませんか?
 
列がA列だけではなく複数にわたるとすると、作業列が使いにくいので
=IFERROR(INDEX(Sheet1!A:A,AGGREGATE(15,6,ROW($1:$1000)/(MATCH(Sheet1!A$1:A$1000,Sheet1!A:A,0)=ROW($1:$1000)),ROW(A1))),"")
 
※数値限定であれば
=IFERROR(AGGREGATE(15,6,Sheet1!A$1:A$1000/(MATCH(Sheet1!A$1:A$1000,Sheet1!A:A,0)=ROW($1:$1000)),ROW(A1)),"")

回答
投稿日時: 20/03/05 10:09:55
投稿者: んなっと

いつか使えるようになればいい式。
 
=UNIQUE(Sheet1!A1:A1000&"")
 
=UNIQUE(IFERROR((Sheet1!A1:A1000&"")*1,""))

投稿日時: 20/03/05 12:13:43
投稿者: ronboi

早々ご連絡有り難うございます。
よろしくお願いいたします。
 
 投稿者: んなっと様のこの式ですと旨くいきそうです。
 =IFERROR(AGGREGATE(15,6,Sheet1!A$1:A$1000/(MATCH(Sheet1!A$1:A$1000,Sheet1!A:A,0)=ROW($1:$1000)), ROW(A1)),"")
 この式が良いと思います。
 
 だけど、Sheet1の入力位置が C5から始まり年度末まで使用となります。
 帯する、貼り付け側ですが Sheet2のB4からの貼り付けとなります、
 先ほど、式を入れてみましたが、sheet1 A1〜Sheet2 A1に渡り問題なく出来ましたが。
 元と貼り付け箇所がずれると旨くいかないようです。
 私の方法が間違っているのではないでしょうか。

回答
投稿日時: 20/03/05 12:21:06
投稿者: んなっと

B4
=IFERROR(AGGREGATE(15,6,Sheet1!C$5:C$1000/(MATCH(Sheet1!C$5:C$1000,Sheet1!C:C,0)=ROW($5:$1000)),ROW(B1)),"")
 

回答
投稿日時: 20/03/05 12:28:06
投稿者: んなっと

引用:
sheet1 A1〜Sheet2 A1に渡り問題なく出来ました

正確に状況を分析して伝えてくださるので、問題点を共有できる。
質問者の鑑です。どんどん質問してください。

投稿日時: 20/03/05 12:30:34
投稿者: ronboi

投稿者: んなっと様
成功です
有り難うございます。
これで、仕事の簡素化が出来ました、又の機会でもよろしくお願いいたします。
本当に、有り難うございます。