プロが教える店舗&オフィスのセキュリティ対策術

Sheet1にB列~AUにDATAが記入されています。Q列に”A”またはAM列に”B”が入力されるとB列~AU列までのセルをSheet2にCopyするという関数またはVB(できれば関数)で設定したいのですが上手くいかないようです。適切な関数設定を教えていただけませんでしょうか?

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

  • 早速のご教授ありがとうございました。私の説明が不足しておりすみません。追記いたしますのであわせてご教授いただけましたら幸いです。
    Sheet1の各行のQ列に”A"AM列に”B”が入っているどちらでも、その行のB列~AU列をSheet2に順次Copyしたいというものです。いただきましたOR(Sheet1!Q1="A",Sheet1!AM1="B") は理解できました。
    ここから追加質問です
    1、IF関数で別sheetにCOPYするためにIF(OR(Sheet1!Q1="A",Sheet1!AM1="B"),・・・)この・・・にはどういれればよいでしょうか?
    2、AM1の”B”には”B*"のワイルドカードを使い指定したいです
    以上 よろしくお願いいたします。
    なお、絶対参照で$をつけてのセル指定とのことでそれ自身は理解できていると思います

      補足日時:2019/12/09 16:51
  • 昨日に引き続きやってみたのですが”B"の方にワイルドカード"B*"を利用すると"A"のみで判定してCopyされているようです。IF関数で”*”が使用できないということはありますでしょうか?
    <現状の設定関数:実態にあわせて少し名前変更してます>
    =IF(OR(説明2020クレームリスト!$O6="最終User",説明2020クレームリスト!$AL6="DI*"),説明2020クレームリスト!G6,"")

    以上 引き続き原因調査しておりますがもし追加でご教授いただける点ありましたら引き続きお願いいたします。

      補足日時:2019/12/10 11:05
  • ご教授いただきましたお二人には大変感謝いたします。ワイルドカードの使用なども含めていろいろ調べながらなんとか以下の関数を使って完成できました。本当にありがとうございました!      お二人からご教授いただいた関数も下記の関数も今まで使用したことがないものもあり今回とても勉強になりました!あわせてお礼申し上げます!!!!!!!!                                     
    使用した関数は以下です。                                  =IF(ISNUMBER(FIND("最終",'2020クレームリスト'!P6))+ISNUMBER(FIND("DI",'2020クレームリスト'!AM6)),'2020クレームリスト'!C6,"")

      補足日時:2019/12/10 15:56

A 回答 (2件)

こんにちは



行の関係性がよくわからないけれど、「同じ行に対して」という意味で良いものと仮定して・・・
>Q列に”A”またはAM列に”B”が入力されると

 OR(Sheet1!Q1="A",Sheet1!AM1="B")
といった形で表すことができます。
列に渡ってコピー可能にするためには列だけ絶対参照にして、例えばB1セルに
 =IF(OR(Sheet1!$Q1="A",Sheet1!$AM1="B"),Sheet1!B1,"")
のような関数を設定しておけばよさそうですね。

>適切な関数設定を教えていただ
質問文の情報が不足なので、記載なき部分に関しては適当に埋めてあります。
なので、適切なのか同課は不明です。
    • good
    • 0
この回答へのお礼

昨日いただいた内容で試しました。なかなかうまくできなかったのですがその原因のひとつにSheet1またはSheet2でセルを結合していることが原因であると判明し改良を進めておりました。それで一旦解決したように思ったのですが下行にCopyしたことで他の行では上手くできなくなってしまい時間切れで終了しました。ほかの方からもご教授いただいており両方で試しております。引き続きご教授いただけるものありましたらよろしくお願いいたします。

お礼日時:2019/12/10 10:23

Sheet2 において、


次式を入力したセル B1 を右方にズズーッと(AU列まで)オートフィルした後で、範囲 B1:AU1 のフィルハンドルを下方にドラッグ&ペースト
=IFERROR(INDEX(Sheet1!B$1:B$100,SMALL(IF((Sheet1!$Q$1:$Q$100="A")+(Sheet1!$AM$1:$AM$100="B"),ROW(A$1:A$100)),ROW(A1))),"")
【お断り】上式は必ず配列数式として入力のこと
    • good
    • 0
この回答へのお礼

早速のご教授ありがとうございました。いただいた関数を使ってみました。Sheet1からsheet2へのそれぞれのセルがCopyされたのですが以下の点がまだわからず確認を試みております。(私の説明不足だったのかもしれませんのでその点申し訳ありません)
<入力関数:セルアドレスだけいただいた式から変更して実態にあわせてます>
=IFERROR(INDEX(説明2020クレームリスト!C$6:C$100,SMALL(IF((説明2020クレームリスト!$O$1:$O$100="最終User")+(説明2020クレームリスト!$AL$1:$AL$100="Di123456"),ROW(C$5:C$100)),ROW(C5))),説明2020クレームリスト!C6)
<問題点>
Sheet1の各行の
Q列に”A"
AM列に”B”
のいづれかが入っている場合だけSheet2の各セルのSheet1からCopyをする
としたいのですが、”A""B"がどんなときにもCopyされてしまっています

この点の原因を探っており、もしお時間あれば追加ご教授いただきたくお願い
いたします。

お礼日時:2019/12/10 10:20

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