人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの表で条件を指定して整列させようとしています。
よろしくお願い致します。

画像のようにA列の商品名に、B列、C列の2つの条件が付いた商品がありD列に在庫数を入れています。
はじめは「画像C表」のように規則を設定したものに従って並んでいたのですが、操作ミスがあり「画像A表」のように行をバラバラにしてしまいました。
A列の商品名、B列、C列の条件とD列の在庫数の横の並び(1行づつの並び方)は元のままです。
A列の商品名、B列、C列の条件の記入内容は半角全角文字様々です。
「画像B表」のような在庫数だけ入っていない表は存在しています。

これを「画像B表」の整列規則に従って元のように並べ直すのに苦労しています。

例えば定型の表である「画像B表」のA2セルとB2セルとC2セルの値が共通の行の「画像A表」のD2セルの値を「画像B表」のD2セルに並べるという方法が出来ればと思うのですが数式をどう設定してよいのか判らない常態です。

実際の商品数(行数)は10,000程あり日常扱っている商品のためかなり焦っております。
確実に元に戻せればどのような方法でも結構です。

初歩的な内容かもしれませんが、よろしくお願い致します。

1382874896
●拡大する

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

在庫だから重複は無いものとすればSUMPRODUCTの合計機能を使うことで対応できそう

=SUMPRODUCT((シートA!$A$2:$A$10000=A2)*(シートA!$B$2:$B$10000=B2)*(シートA!$C$2:$C$10000=C2),(シートA!$D$2:$D$10000))

使い方はここの複数条件での合計を求めるのところを見て調整してくださいね
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/sumproduct.htm

いつも使う表で並びが変わると困るなら通し番号の列を作っておきましょうね


匿名回答2号さんのコメント
>> A列の商品名、B列、C列の条件の記入内容は半角全角文字様々です。 << これ気になる所。画像A表と画像B表で食い違いが無いといいのですけど。 確認方法としては、同じくSUMPRODUCT関数つかって >|| =SUMPRODUCT((シートA!$A$2:$A$10000=A2)*(シートA!$B$2:$B$10000=B2)*(シートA!$C$2:$C$10000=C2)) ||< のように(匿名回答1号さんのリンクの複数条件でカウントするを参照)。あとはオートフィルタ使って1以外がないか確認。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm 少なければ手作業で変更すればいいですが、多ければASC関数かJIS関数で統一した表を一時的に作って対応ですね。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/mojiretu01.html

匿名質問者さんのコメント
ご回答感謝いたします。 お教えいただきました方法を参考にさせていただき、私の状況に合った簡単な方法にて何とか並べ替える事に成功致しました。 方法は次の通りです。 バラバラになっている「画像A表」にて、D列に一列追加し、列名をD1にABCとし、D2に「=A2&B2&C2」として3条件をくっつける。 D2をクリック選択してD列の一番したまでドラッグしてコピー。 D列に対してcountif関数にて重複が無い事を確認。(「=COUNTIF(D:D,D2」とし一番下までドラッグ。全て1である事をチェック) 正常な並びの画像B表にsheet1を追加し、sheet1に上での作業で得たデータを全てコピー&ペースト。 B表のシートを最初の表示にもどし、D2に「=VLOOKUP(A2&B2&C2,Sheet1!D:F,3,FALSE)」と記入し、ENTER。それを一番下までドラッグ。 得た値をコピーし、E列に条件を「値」でペースト。 E1を「在庫数」とし、作業に使ったD列を削除。 このような方法で元に戻しております。 胸をなでおろしています。ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ