• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのデータ振り分けがうまくいきません。)

エクセルのデータ振り分けがうまくいかない!

このQ&Aのポイント
  • エクセルを使ってデータの振り分けを行う際に問題が発生しています。
  • 特定の計算式を入力しようとしていますが、データがずれてしまったり、反映されない状況です。
  • 解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

提示された数式にはいくつかの無駄と一般性がない数式になっています。 まず今回の目的にはO列の補助列は必要ありません。 たとえばO6セルから右に担当者名を入力しておき、O7セルに以下の数式を入力して右方向および下方向にオートフィルします。 =IF(OR($G7="",$G7<>O$6),"",COUNTIF($G$7:G7,O$6)) そして「会長のシートでは、以下の数式を入力して右方向および下方向にオートフィルコピーします(どのセルに入力しても数式を変更する必要がない)。 =IF(MAX(総合入力!$O:$O)<ROW(A1),"",INDEX(総合入力!$B:$M,MATCH(ROW(A1),総合入力!$O:$O,0),COLUMN(A1))) ちなみに、A1セルに「会長」などと担当者をいれておけば以下の数式でその担当者のシートを作成することができます。 =IF(MAX(総合入力!$O:$O)<ROW(A1),"",INDEX(総合入力!$B:$M,MATCH(ROW(A1),INDEX(総合入力!$O:$Z,0,MATCH($A$1,総合入力!$O$6:$Z$6,0)),0),COLUMN(A1)))

kurobon619
質問者

お礼

MackyNo1さん 大変わかりやすいご回答ありがとうございます。 解決しました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

Q1 会長のシートのB列からN列に =IF(MAX(総合入力!$P:$P)<ROW()-1,"",INDEX(総合入力!$B:$N,MATCH(ROW()-1,総合入力$P:$P,0),COLUMN())) をいれましたが、一旦は反映されたときには、データーがずれて、最後がの列が#REF!なりました。 A1 基本的な考え方は合っていますがINDEX関数の第1引数(範囲)と第3引数(列番号)の扱い方に誤りがあります。 第1引数が総合入力!$A:$Nであれば第3引数をそのままでも正しい値が返ります。 また、第1引数をそのままにするときは第3引数をCOLUMN(A1)に変更してください。 Q2 もう一度やり直すと今度は真っ白のままで、データは反映されません。 A2 単純なタイプミスかも知れません。 各関数ごとに引数が正しく入力されているかを確認しなければ判断できません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで検索し別シートに抽出したい。2007

    http://okwave.jp/qa/q6798171.html                                       上記のベストアンサーの方法で試してみましたが上手く行かなかったので、ご教授お願いします。                                                          Sheet1のAからAMにそれぞれ各項目があり、Sheet2はURLベストアンサーの画像と同様になっています。Sheet2の検索項目はO列とP列ですが、後々検索したい項目が増えた時に追加しやすい方法だと助かります。O列は仮名+数字(あ1234)P列は漢字です。                                                              Sheet1のAM2へは下記のようにしました。  =IF(COUNTA(Sheet2!$A$2:$B$2)=0,"",IF(Sheet2!$B$2="",IF(ISNUMBER(FIND(Sheet2!$A$2,B2)),ROW(),""),IF(Sheet2!$A$2="",IF(ISNUMBER(FIND(Sheet2!$O$2,P2)),ROW(),""),IF(AND(ISNUMBER(FIND(Sheet2!$A$2,B2)),ISNUMBER(FIND(Sheet2!$O$2,P2))),ROW(),"")))) Sheet2のA5には下記のようにしました。 =IF(COUNT(Sheet1!$AM:$AM)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$AM:$AM,ROW(A1)))) お手数ですがご教授よろしくお願いします。

  • エクセルで非常に困っています。

    昨日、エクセルで複数の条件範囲に合う行を別シートに抽出したいと思い 書き込んだ者です。 http://okwave.jp/qa/q7859821.html 参照して頂ければお分かりになると思います。 教えて頂いた通りに Sheet2のP2セルに(←関らずSheet1の最初のデータがある行に数式をいれます) =IF(AND(Sheet1!A2>=$B$2,Sheet1!A2<=$D$2,Sheet1!O2>=$B$3,Sheet1!O2<=$D$3),ROW(),"") という数式を入れオートフィル Sheet2のA6セルに =IF(COUNT(Sheet1!$P:$P)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$P:$P,ROW(A1)))) と入れたのですが、どうしても検索結果が 宿泊日、人数ともに検索条件と違う行が抽出されてしまいます。 作業列は、間違えてないと考えているのですが、 どうしても検索結果が上手く出ません。 どなたか、お分かりになる方助けて下さい。 宜しくお願いします。

  • 関数で複数データを取り出す(配列数式を使う)

    参照サイト:http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/fukusu_data.html A列日付、B列商品、C列販売数が並んでいるシートが有ります。 同シートにG2に日付を設定、その日付に一致するデータだけを G5以下日付、H5以下商品、I5以下販売数を反映させます。 G5セルに=IF(COUNTIF($A$2:$A$11,$G$2)<ROW(A1),"",INDEX(A$2:A$11,SMALL(IF($A$2:$A11=$G$2,ROW($A$1:$A$10)),ROW(A1)))) の関数を記入します。 上記の条件は、参照サイトの下側ページそのままの条件です。 しかし、参照サイトでは、11列ぐらいまでしか反映されません。 100列ぐらいまで伸ばして使いたいのです。 関数をどこを改造したら反映列を増やせますか? よろしくお願いします。

  • 【できれば至急で】エクセル関数の式で教えてください

    画像では、1つのシートに(シート1)(シート2)と記載していますが、実際は、別々のシートになります。 シート1に画像上記のような集計表があり、日々更新をしているのですが、その時に自動的にシート2にある内容が入力されるような関数が入っています。ただ、2010年は問題なく反映されていたのですが、2011年になり入金日を「例:2011/1/4」と入力をすると、シート2の日付部分には「1/0」と表示され、「シート1」の入金日が過去未入力のものが反映されてしまいます。シート1の入金日に「例:2011/1/4」と入力したら、自動でシート2の表が完成するような式を入れるにはどのようにしたら良いのでしょうか?実際に、2010年12月末まで問題なく使われていた関数を下へ書き出します。ちなみに、シート1の入金日は、2010年、2011年が区別されて入力しています。 (シート1) H2には、 =IF(AND(F2<>"",MONTH(G2)=シート2!$A$1),G2+ROW()/1000,"") (シート2) B3セルには、 =IF($B$1="","",IF(ISERROR(INDEX(Sheet1!G:G,MATCH(SMALL(Sheet1!H:H,ROW(B1)),Sheet1!H:H,0))),"",INDEX(Sheet1!G:G,MATCH(SMALL(Sheet1!H:H,ROW(B1)),Sheet1!H:H,0)))) C3セルには、 =IF($B3="","",INDEX(Sheet1!D:D,MATCH(SMALL(Sheet1!$H:$H,ROW(B1)),Sheet1!$H:$H,0))) D3セルには、 =IF($B3="","",INDEX(Sheet1!F:F,MATCH(SMALL(Sheet1!$H:$H,ROW(G1)),Sheet1!$H:$H,0))) の数式が入っています。 12/1~12/31まではシート2の表が反映されていたのですが、シート2のB1に「1月」を入力したところ、画像のように、シート1で入金日が空白(未入金状態)の場合も、シート2に反映されてしまいました。

  • エクセルで3列に分かれているデータを並べ替えたい

    エクセルで3列に分かれているデータを並べ替えたいです。 場所(1) A 3 D 0 G 2 B 0 E 1 H 1 C 2 F 0 I 0 : 場所(2) J 0 M 1 P 2 K 1 N 1 Q 3 L 1 O 0 R 0 : (アルファベット:物、数字:回数) 同様に場所(3)までが同じシート内に入っています。 列は全て3列、行は場所によって異なります。 それぞれの場所ごとに、他のシートや列に移し変えずに そのまま並べ替えたいのですがどうしたらいいでしょうか。 初心者で質問が分かりにくかったらすみません。

  • マクロ:データの抽出(複数条件)

    エクセルで以下のようなマクロを作成しました。 シート1のG列がシート2のF4と合致する時、シート2のC列にシート1のB列を貼り付けるのですが、条件を増やし 「シート1G列がシート2のF4と一致」かつ「シート1H列がシート2のG5と一致」かつ「シート1I列がシート2のH5と一致」かつ・・・としたいのですが、If Thenをどのように記述したらよろしいでしょうか。(AND関数の機能です) 宜しくお願いいたします。 Sub data01() With Sheets("Sheet1") x = .UsedRange.Cells(.UsedRange.Count).Row For i = 5 To x If .Cells(i, "G").Value = Worksheets("Sheet2").Range("F4").Value Then n = n + 1 Sheets("Sheet2").Cells(n + 5, "C").Value = .Cells(i, "B").Value End If Next End With End Sub

  • エクセル:別のシートへ抽出したデータをリンクさせたい。

    QNo.2970713の質問内容についてなのですが、 次のようなシートがあります。(シートAとします。)     A    B    C  … [1] 001  AAA [2] 002  BBB  あああ [3] 003  CCC [4] 004  DDD   [5] 005  EEE  いいい C列の空欄データは除外して、C列にデータが記入されているものだけ別のシートに(シートB)に行ごとリンクさせたいと考えています。 (この場合だと2列と5列です。) シートAには今後もデータが追加される想定で、新しいデータで当てはまるものは自動的にシートBに反映されるようにさせたいです。 この回答の中で、 ★SheetBに =IF(ROW(A1)>COUNTA(SheetA!$C:$C),"",INDEX(SheetA!A:A,SMALL(INDEX(SUBSTITUTE((SheetA!$C$1:$C$10<>"")*1,0,10^5)*ROW(SheetA!$C$1:$C$10),),ROW(A1)))) ★右と下にコピー あるのですが、C列がvlookuo等の数式が入っていると、#REF!となってしまします。 この#REF!を表示させない方法を教えて下さい。

  • エクセルの複数の条件範囲に合う行を別シートへNo2

    先ほど質問したものなのですけど、 どうやっても、宿泊日と人数が合っていない数字で直りません。 お分かりの方教えて下さい。 作業セルに=IF(AND(Sheet1!A2>=$B$2,Sheet1!A2<=$D$2,Sheet1!O2>=$B$3,Sheet1!O2<=$D$3),ROW(),"") セルに =IF(COUNT($P:$P)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL($P:$P,ROW(A1))))

  • エクセルでお聞きします。

    こちらのサイトの回答を参考に、セルに下記のような式が入れました。 他のシートや他のセルにも同様の式が入っているのですが割愛致しました。 通常Sheet1のB列は空白なんですが、もし何か文字が入っていたら その行に関してはこの式を反映させない方法を教えて下さい。 (Sheet2) B列 =IF(ROW(E1)>COUNT('Sheet1'!$E$4:$E$505),"",INDEX('Sheet1'!E$1:E$505, SMALL(INDEX(SUBSTITUTE(('Sheet1'!$E$4:$E$505<>"")*1,0,10^5)*ROW('Sheet1' !$E$4:$E$505),),ROW(E1)))) D列 =IF(ROW(C1)>COUNT('Sheet1'!$E$4:$E$506),"",INDEX('Sheet1'!C$1:C$505, SMALL(INDEX(SUBSTITUTE(('Sheet1'!$E$4:$E$505<>"")*1,0,10^5)*ROW('Sheet1' !$E$4:$E$505),),ROW(C1))))

  • データー表から月日毎に振分をするには

    いつもお世話になります。 WIN7 EXCELL20010 です。 参照図で説明させていただきます。 UserFormを介して「記入」シートの B列に 日付  02/08 C列に ID   011-0002 M列に 体温  36.5 N列に 最高血圧 125.0 O列に 最低血圧  79.0 P列に 脈拍 63.0 Q列に 担当 橋 を入力します。 例えば上記のシート「記入」に入力されたデーターを Sheet「 2月」に     (※1月~12月 までのシートがあります) K6 = 36.5 K7 = 125.0 K8 = 79.0 K9 = 63.0  というようにそれぞれに振分をする関数をご指導いただけませんでしょうか。 よろしくお願いします。 ※She et「2月」B6 には下記の関数が入っています。 (滅多にないのですがご利用様名の同性同名の管理上) =IF(ROWS($A$6:$A6)>COUNTIF(記入!$F:$F,"*?◆"&TEXT($D$4,"yyyy/mm")&"/*?◇★*?"),"",LEFT(VLOOKUP("*?◆"&TEXT($D$4,"yyyy/mm")&"/*?◇★"&ROWS($A$6:$A6),記入!$F:$F,1,FALSE),FIND(IF(COUNTIF(記入!$F:$F,INDEX(記入!$D:$D,MATCH("*?◆"&TEXT($D$4,"yyyy/mm")&"/*?◇★"&ROWS($A$6:$A6),記入!$F:$F,0))&" #2*"),"◆"," #"),VLOOKUP("*?◆"&TEXT($D$4,"yyyy/mm")&"/*?◇★"&ROWS($A$6:$A6),記入!$F:$F,1,FALSE))-1))

このQ&Aのポイント
  • PIXUS TS8030とWindows11の無線LAN接続方法について詳しく教えてください。
  • SSID-DIRECT-KV79-TS8000seriesでの無線LAN接続方法について教えてください。
  • KVがMeもでるSSID-DIRECT-KV79-TS8000seriesのパスワードは8UUrxrdM5Nです。
回答を見る

専門家に質問してみよう