[[20180127014455]] 『関数で別シートに表示させる』(mako) ページの最後に飛ぶ

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

 

『関数で別シートに表示させる』(mako)

シート1に関数でリンクのように自動的に表示できないか?
色々と考えたのですが、なかなか思いつかなくて
書き込みさせて頂きました。
VLOOKUPなど試したのですが、上手くいきませんでした。

参照するシート2は別にあって、その中に表があり、
B列に名前、C列に数量、D列に期限、があります。
H列に1を入力(チェック)したB列の名前を
シート1のC列に反映させたいのです。

チェックする物は複数あるので上から順に表示させたいです。
エクセルの関数で処理することは可能でしょうか?

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


Shee2は2行目から16行目に実データが入力されているとします。

Sheet1!C2: =IFERROR(INDEX(Sheet2!$B$2:$B$16,SMALL(IF(Sheet2!$H$2:$H$16=1,ROW(A1:A15),""),ROW(A1))),"")

「Ctrl + Shift + Enter」キーで式を入力します。(配列数式)

 ======================
下に必要数コピーします。

実データが100行目まで入力されている場合には
「ROW(A1:A15)」を「ROW(A1:A99)」に変更します。

(メジロ) 2018/01/27(土) 08:21


早速のご返事ありがとうございます。

入れてみたのですが、上手くいきません。
表示はされるのですが、チェックを付けたものじゃないのが出ます。
配列数式難しいですね・・・

↓ こんな感じになりました・・・


現在、シート2H列で7個選んでるのですが、シート1では5個しか表示されず、
チェック(1)を付けたものとは違う物が表示されています。

シート2でチェック(1)を付けたものが
シート1にリアルタイムで反映して欲しいのです。

どこがおかしいのでしょうか・・・・

(mako) 2018/01/27(土) 19:17


※追伸
シート1(納品書)の「注番」「品名」「在庫」に
この配列数式を使わせてもらっています。
「出荷数」「単価」は手入力です。

シート2は注文予定がどんどん入ってくるので、
下に1000以上増えていきます。
「ROW(A1:A15)」を「ROW(A1:A999)」でいいんですよね?

(mako) 2018/01/27(土) 19:26


 >=IFERROR(INDEX(Sheet2!$B$2:$B$16,SMALL(IF(Sheet2!$H$2:$H$16=1,ROW(A1:A15),""),ROW(A1))),"") 
                                                                     ~~~~~~
 波線部も「絶対参照」にしないとダメです。

 さらに言うと ↓ の方がわかりやすいでしょう。

 =IFERROR(INDEX(Sheet2!B:B,SMALL(IF(Sheet2!$H$2:$H$1000=1,ROW($A$2:$A$1000),""),ROW(A1))),"")
                       ~~~                                    ~~~~~~~~~~~~          ~~                              
                       (1)                                        (2)               (3)

 (1)範囲を列全体にする
 (2)データ範囲に合わせる
 (3)A1のままにしておく

 参考まで
(笑) 2018/01/27(土) 22:59

返信ありがとうございます。

その部分も絶対参照だったんですね(^^;
メジロさん、笑さん、
解決しました。ありがとうございました。

(mako) 2018/01/27(土) 23:34


コメント返信:

[ 一覧(最新更新順) ]


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