Excelで困っています(>_<)
今、ファイルが二つあります。

一つめのファイルは『野菜&果物ファイル.xls』、二つ目のファイルは『果物ファイル.xls』とファイル名を付けています。
一つめのファイルには、

セロリ
マンゴー
バナナ
トマト
リンゴ
白菜
ホウレンソウ
イチゴ




と、野菜と果物の名前がA1からずら~っと縦に並んでいます。
二つ目のファイル『果物ファイル.xls』には、

バナナ
リンゴ
イチゴ




と、A1から果物の名前だけがずら~っと並んでいます。

ここで、『果物ファイル.xls』にある全果物のデータを参照し、『野菜&果物ファイル.xls』の中で、一致するデータ(果物)があれば、その該当データに「/(罫線)」を引きたいのです。
そして、野菜のデータと果物のデータの区別を、視覚的にわかりやすくしたいのです。

「色をつける」「網をかける」のでも大丈夫なのですが、モノクロでプリントアウトした際も一目でわかるのはやはり、「/(斜線)」だと思いまして。

関数やマクロを使って、何とか解決できないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (7件)

No3-4 merlionXXです。


No4の再質問の書き込みを見ました。
罫線は並べ替えても移動してくれませんからね。
それなら並べ替えてから罫線をひくことになります。
こんなんでどうでしょ?

Sub test03()
Dim myRng1 As Range, myRng2 As Range, c As Range, cc As Range
With Workbooks("野菜&果物ファイル.xls").Sheets("Sheet1")
Set myRng1 = .Range(.Range("A1"), .Range("A1").End(xlDown))
myRng1.Borders(xlDiagonalUp).LineStyle = xlNone
.Columns("B:B").Insert Shift:=xlToRight
End With
With Workbooks("果物ファイル.xls").Sheets("Sheet1")
Set myRng2 = .Range(.Range("A1"), .Range("A1").End(xlDown))
End With
For Each c In myRng1
For Each cc In myRng2
If c.Value = cc.Value Then
c.Offset(0, 1).Value = 1
End If
Next cc
Next c
With Workbooks("野菜&果物ファイル.xls").Sheets("Sheet1")
.Range(myRng1, myRng1.End(xlToRight)).Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo, Orientation:=xlTopToBottom
With .Range(.Range("B1"), .Range("B1").End(xlDown)).Offset(0, -1).Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
.Columns("B:B").Delete Shift:=xlToLeft
End With
End Sub
    • good
    • 0
この回答へのお礼

再度ご回答いただき本当にありがとうございます!
merlionXXさんのマクロを実行してみたのですが、

実行時エラー ' 1004 '
Border クラスの LineStyle プロパティを設定できません。

というエラーメッセージと共に、

myRng1.Borders(xlDiagonalUp).LineStyle = xlNone

の箇所が、黄色くマーカーされてしまいました(ToT)
マイクロソフトのサポートページ↓
http://support.microsoft.com/kb/157556/ja

にも、同じようなエラーの例が記載されていたのですが、私が使っているのはExcel2007なので、あまり関係ないような気がしました・・・
どこを修正すべきでしょうか?
本当にすいません、お暇な時に、もう一度ご回答いただければ幸いです。
よろしくお願いします。

お礼日時:2009/06/02 21:52

myRng1.Borders(xlDiagonalUp).LineStyle = xlNone は斜めの罫線を削除しています。


ひょっとして、シート保護してませんか?
保護してると手動でも罫線の削除はできませんのでマクロでもエラーになります。
    • good
    • 0
この回答へのお礼

何度も親身に教えていただきありがとうございます!
原因がわかりました。
マクロを『野菜&果物ファイル.xls』上ではなく、『果物ファイル.xls』上で実行していたのが問題でした。
『野菜&果物ファイル.xls』のブック上でマクロを実行すると、うまく斜線が引かれました(^_^;)

ただ、merlionXXさんが書いてくださったマクロは、B列に何かデータが入っていると、うまくできませんでした(ToT)
エラー表示されることはないのですが、変なところに罫線が引かれたり、「1」という数字がB列のデータに上書きされるといった事態が生じたのです。

実は、オリジナルのデータは、B列、C列にも、たくさんのデータが入っておりまして・・・
他力本願で本当に申し訳ないのですが、ここ↓
http://okwave.jp/qa5015030.html
に、新たな質問をさせていただきました。
B列が埋まってしまっている状態で、A列の特定のデータに、罫線を引いて並べかえたいのです。

merlionXXさんぐらい詳しい方でないと、誰も回答してくれない気がします。
お暇な時で構いませんので、再度お力をお借しいただければ幸いです(>_<)

今回は本当に助かりました、どうもありがとうございます!

お礼日時:2009/06/04 00:06

merlionXXです。


No5で回答した Sub test03 を、エクセル2000、2003、2007の3バージョンで実行してみましたが、そのようなエラーは再現できませんでした。
    • good
    • 0

No3 merlionXXです。


先ほどのでも大丈夫とは思いますが、念のため修正します。

Sub test02()
Dim myRng1 As Range, myRng2 As Range, c As Range, cc As Range
With Workbooks("野菜&果物ファイル.xls").Sheets("Sheet1")
Set myRng1 = .Range(.Range("A1"), .Range("A1").End(xlDown))
myRng1.Borders(xlDiagonalUp).LineStyle = xlNone
End With
With Workbooks("果物ファイル.xls").Sheets("Sheet1")
Set myRng2 = .Range(.Range("A1"), .Range("A1").End(xlDown))
End With
For Each c In myRng1
For Each cc In myRng2
If c.Value = cc.Value Then
With c.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End If
Next cc
Next c
End Sub
    • good
    • 0
この回答へのお礼

二度も回答していただいたのに、返信が遅くなってすいません!
merlionXXさんのやり方すごいですね、教えていただいたマクロを実行すると、うまくいきました!該当するデータに斜線が引かれました!!
ほんと驚きです。

誠に図々しいのですが、もう1度ご指導いただきたい疑問が湧きまして(>_<)
データにうまく斜線が引かれ、

セロリ
マンゴー
バナナ(斜線あり)
トマト
リンゴ(斜線あり)
白菜
ホウレンソウ
イチゴ(斜線あり)

のようになったのですが、斜線が引かれたデータと、斜線が引かれてないデータが、まばらに分散していることに頭を抱えています。
この状態から、なんとか

バナナ(斜線あり)
リンゴ(斜線あり)
イチゴ(斜線あり)
セロリ
マンゴー
トマト
白菜
ホウレンソウ

と、斜線のあるデータと斜線のないデータを、それぞれ近くにかためて表示することは、可能なのでしょうか?
「並べ替え」とか「フィルタ」とかいじってみたのですが、どうしてもうまくいきません。
マクロを書き換えなければならないのでしょうか・・・もしよろしければ、再度ご指導いただきたいです。
よろしくお願いします(>_<)

お礼日時:2009/06/01 01:05

マクロでも良いとのことなので一例です。


BOOK名はありましたがSheet名がないので2つのBOOKともSheet1だとします。
データは両方ともA1セルから下へ縦に一列にあるものとします。
データは途中に空白はないものとします。
両方のBOOKを開いた状態で以下のマクロを実行してください。

Sub test01()
Set bk1 = Workbooks("野菜&果物ファイル.xls")
Set bk2 = Workbooks("果物ファイル.xls")
With bk1
Set myRng1 = .Sheets("Sheet1").Range(.Sheets("Sheet1").Range("A1"), .Sheets("Sheet1").Range("A1").End(xlDown))
End With
With bk2
Set myRng2 = .Sheets("Sheet1").Range(.Sheets("Sheet1").Range("A1"), .Sheets("Sheet1").Range("A1").End(xlDown))
End With

For Each c In myRng1
For Each cc In myRng2
If c.Value = cc.Value Then
With c.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End If
Next cc
Next c
End Sub
    • good
    • 0

VBAでやらないと出来ないでしょう。


それも変更即時反応型は難しい。
ーーー
近い機能は条件付き書式なのです。
A.そしてその条件で「数式が」を選ぶことで、VLOOKUPのような(検索)関数も使えるでしょうし、
B.条件に合ったものに罫線も引けます
ーー
しかし問題は、相手側に「一致するデータ(果物)があれば」ですが
複数有るときは、第2番目以降を捉えることが関数では難しい(普通で不可能)なのです。
その重複出現あるかどうかのことを質問に書いてないのは、コンピュタ利用経験が少ない証拠です。これをデータの寄せ集まりでは、いつも意識すること。処理に大きく影響します。
ただ相手の検索する表に本件のように、有るかないかを調べるだけなら、2番目以降の重複出現は関係ない(1つめが見つかればとにかくあると言える)ですが。
ーー
では
ISERRORとVLOOKUPの組み合わせで出来そうか考えます。
普通に式を書くと、参照する検索表が他シートだとエラーになる。他ブックならましてダメ。
Sheet1とSheet2の例ですと
例データ
Sheet1
A1:A5
aaa
bbb
cc
ddd
ee
これに範囲に名前をつける(ここでは、検索という名前とする)
Sheet2に
A1:A5に
aa
bb
cc
dd
ee
と有るとする。
ーー
Sheet2のA1:A5(データ全て)を範囲指定する。そして
書式ー条件付き書式ー数式が
数式に =NOT(ISERROR(VLOOKUP(A1,検索,1,FALSE)))
書式に セルのパターン色でライトブルーを指定ーOK
ーー
結果
cc、eeに色がつきました。
ーー
書式をパターン色にしたのは、私のバージョンの場合、罫線で斜線が出てこないからです。質問者の場合、出てくればそれでやってください。
ーー
他ブックの場合ですが、同じくセル範囲に名前をつけるほか無いと思うが、質問者でやってみてください。うまく行くとは思いますが、ブックがちがうと、エクセルでは他世界で、何かと難しくなったり、不可能に有る場合はあります。
セル範囲に名前をつける問題で、シートレベル、ブックレベルなどあり、特別に勉強が必要だと思う、分野だと思います。
    • good
    • 0
この回答へのお礼

うまくできました!
ありがとうございます<m(__)m>
やはりブックレベルだとややこしくなるのですね。
ただ、2つのファイルがどちらもデータがいっぱい入力されていて重いので、1つのファイルにまとめると相当重くなってしまう状況なのです(>_<)
ブックレベルも勉強しなければならないと痛感しました(^_^;)

お礼日時:2009/06/01 00:49

スマートではないですが、関数でできそうです。



(1)野菜&果物ファイル.xlsのB列に以下の式を入力します。
=ISERROR(MATCH(A1,[果物ファイル.xls]Sheet1!$A$1:$A$3,0))

(2)野菜&果物ファイル.xlsのA列の値が入力されているセルを全て
 選択し、書式⇒条件付書式を選択し、『数式が』『=$B1=FALSE』
 と入力し、書式を設定する。

※残念ながら斜線は引きないみたいですが、濃い目の色をつければ、
 白黒印刷でも区別できると思います。
「Excelで、条件に該当するデータに「/」の回答画像1
    • good
    • 0
この回答へのお礼

返信遅くなってすいません(>_<)
082さんのやり方でもうまくいきました!
ありがとうございます<m(__)m>

お礼日時:2009/06/01 00:51

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qエクセルでデータ.xlsから1行毎に元シート.xlsへコピーし1行毎に多数ファイルを作成したい。

現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。
手が疲れて困っています。
エクセルマクロで簡単にできる方法を教えてください。

以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、
次の行から1行ごとのデータがあります。

データ.xls
A B C D E F
1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置
2 test 123 456 789 012 345
3 test2 456 789 012 345 678
4 test 456 123 789 012 345
...

元シート.xlsは固定文字や罫線等があります。

元シート.xls
A B C D
1 ------------------------------
2
3
4 abcdefg 9876543
5 ------------------------------

元シート.xlsに、データ.xlsの1行ごとのデータを、指定したセルに入れ、
A列の名前で多数のファイルを作成したいのです。
ただし、A列で同じファイル名がある時は、ファイル名の後に_2等を付けて保存したいのです。

以下のような多数のファイルを自動的に作成する方法を教えて下さい。
宜しくお願い致します。

test.xls
------------------------------
test 789 012
123 456 345
abcdefg 9876543
------------------------------

test2.xls
------------------------------
test2 012 345
456 789 678
abcdefg 9876543
------------------------------

test_2.xls
------------------------------
test2 789 012
456 123 345
abcdefg 9876543
------------------------------
...

現在、以下のような繰り返し作業をカット&ペーストで何度も行わないといけません。
手が疲れて困っています。
エクセルマクロで簡単にできる方法を教えてください。

以下の例のようにデータ.xlsは、一番上の行に元シート.xlsに差込む位置、
次の行から1行ごとのデータがあります。

データ.xls
A B C D E F
1 A2 A3 B3 C2 D2 D3 <- 元シート.xlsにコピーする位置
2 test 123 456 789 012 345
3 test2 456 789 012 345 678
4 test 456 123 789 012 345
...

元シート...続きを読む

Aベストアンサー

丸投げに当るので、原型のみです。
上の例のtest_2.xlsのA1セルはtestが正しいと解釈して作成しています。
その他不明な部分は適当に仮定しています。(原型なので問題ないでしょう。)

・データの整合性等のチェックは一切省いていますので、実際の使用では各種のチェックを入れておかないと即エラーになります。(データが想定と違う場合)
・変数の宣言は省略して名前のみにしてありますが、実際はタイプを指定しておいたほうが良いでしょう。
・元シート.xlsおよび作成されるファイルは同じフォルダにあるものとしています。
・データ.xlsからのコピーはコピーメソッドで行っていますので、書式などもそのままコピーされます。
 (もし式が入力されている場合は、参照がおかしくなることがあり得ます)
・元データのデータ有無に関わらず、データシートのデータを上書きするようにしています。

データ.xlsがアクティブな状態で実行されるものと仮定しています。
(シート名、ブック名などは仮設定です)
適宜、修正してご使用ください。

Sub test()
Dim dst_name, mbk_name, mst_name, bk_name, b_name
Dim dst, mbk, mst
Dim ad, p, i, j

p = ThisWorkbook.Path & "\"  '// 対象となるフォルダのパス+"\"
dst_name = "データシート"    '// 対象データのあるデータ.xlsのシート名
mbk_name = "元シート.xls"    '// 元シート.xlsのファイル名
mst_name = "元シート"      '// 元シート.xlsの対象とすべきシート名

Set dst = Sheets(dst_name)
For i = 2 To dst.Cells(dst.Rows.Count, 1).End(xlUp).Row

'// 作成するファイル名をチェック
 b_name = dst.Cells(i, 1)
 If b_name <> "" Then
  j = 1
  bk_name = p & b_name & ".xls"
  While Dir(bk_name) <> ""
   j = j + 1
   bk_name = p & b_name & "_" & Format(j, "#") & ".xls"
  Wend

'// データをコピー、保存
  Workbooks.Open p & mbk_name
  Set mbk = ActiveWorkbook
  Set mst = mbk.Sheets(mst_name)
  For j = 1 To dst.Cells(i, dst.Columns.Count).End(xlToLeft).Column
   dst.Cells(i, j).Copy (mst.Range(dst.Cells(1, j).Text))
  Next j
  mbk.SaveAs (bk_name)
  mbk.Close
 End If
Next i
End Sub

丸投げに当るので、原型のみです。
上の例のtest_2.xlsのA1セルはtestが正しいと解釈して作成しています。
その他不明な部分は適当に仮定しています。(原型なので問題ないでしょう。)

・データの整合性等のチェックは一切省いていますので、実際の使用では各種のチェックを入れておかないと即エラーになります。(データが想定と違う場合)
・変数の宣言は省略して名前のみにしてありますが、実際はタイプを指定しておいたほうが良いでしょう。
・元シート.xlsおよび作成されるファイルは同じフォルダに...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Qcvs..ファイルxls.ファイル

おはよう御座います。宝くじのデータベースをエクセルで作っています。「宝くじNews Pro」というシェアソフトのデータをCVS.ファイルで出力できるので、私のエクセルで作ったファイルとくっつけたいですのですが、.cvsファイルを出力する際に出力先(参照)のマイドキュメントの中に.XLSファイルがないです。デスクトップの舞いドキュメントの中にはちゃんと含まれているのに。「ファイル名を指定してを検索する」をやってもちゃんとマイドキュメントの中に入ってます。いったい如何したらよいでしょうか?

Aベストアンサー

質問の文章の意味が良くわからない。
エクセルでCSVファイルは読み込める。
エクセルを開き
ファイル
開く
(注)
ファイル名のボックスに「*.csv」と入れ、「開く」をクリックすると
cvsファイルだけの一覧が出るので、その中から選んでダブルクリックすると、エクセルに読み込まれて開く。
(注)この場合私の場合では、マイドキュメントのフォルダ・ファイル一覧が出ているが、ダウンロードしたデータを置いたフォルダがマイドキュメントでなければ、ツールバーアイコンの中にある、「フォルダアイコンに上向き鍵矢印が入っているアイコン」をクリックして、目的(宝くじデータのある)のフォルダに行き着いてください。
>私のエクセルで作ったファイルとくっつけたいですのですが
上記でダウンロードしたCSVファイルの宝くじデータは,それだけでエクセルに開けると思うが、
「くっつける」となると(どういう内容か書いてないので判らないが)、うまくできますか心配な、質問の書きぶりです。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

QXLSファイルをCSVファイルに変換してエクセルで読み込ませたい

こんにちは。シグマリオン1の連絡先に入力していたファイルをポケットエクセルにコピーしてPxlcsvファイル(Pxlファイル?)で保存しました。それを、XLSファイルに変換して、ノートパソコンにコピーしました。そのXLSファイルをCSVファイルにしてエクセル又は、Outlookで読み込ませたいのですが、どうしたらいいのでしょうか?教えて下さい。宜しくお願いします。

Aベストアンサー

>XLSファイルをCSVファイルにして
これだけなら
(1)XLSファイルをエクセルでひらき
(2)名前をつけて保存で「ファイルの種類」を「CSV」で保存

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Qエクセル 二列のデータの相関係数を取る際に、データ範囲をずらしながら相関係数を取る方法

エクセルの質問です。

10 20
12 18
11 16
25 15
21 32
10 26
……

という二列のデータがあるとします。
このデータを、

a1,b1
a2,b2
a3,b3
……

というようにセル番号で置き換えます。

単純に上記のデータの二列のデータの相関係数を
とるのであれば、
CORREL(a1:an,b1:bn)
で、求める値が算出できます。

次に、上記のデータをひとつずらして、

a1,b2
a2,b3
a3,b4
……

とした場合の相関係数を求めます。
CORREL(a1:an-1,b2:bn)
で求まると思います。

これを繰り返していって、
「最も相関が強くなるのは、データをいくつずらしたときなのか?」
を知りたいのですが、
データ数が多くなるといちいち式を書き換えていくのは少し面倒です。

オートフィルや関数など使いながら、
うまくやる方法をどなたかご存じでないでしょうか?
お教え頂けると有りがたいです。
よろしくお願いいたします。

エクセルの質問です。

10 20
12 18
11 16
25 15
21 32
10 26
……

という二列のデータがあるとします。
このデータを、

a1,b1
a2,b2
a3,b3
……

というようにセル番号で置き換えます。

単純に上記のデータの二列のデータの相関係数を
とるのであれば、
CORREL(a1:an,b1:bn)
で、求める値が算出できます。

次に、上記のデータをひとつずらして、

a1,b2
a2,b3
a3,b4
……

とした場合の相関係数を求めます。
CORREL(a1:an-1,b2:bn)
で求まると思います。

これを繰り...続きを読む

Aベストアンサー

もう少し簡単にできました
=CORREL(A$1:INDEX(A:A,COUNT(A:A)-ROW(A1)+1),B1:INDEX(B:B,COUNT(A:A)))
下へオートフィル
お分かりのこととは思いますが、行番号n-1まで相関関係を出せますが信頼性は薄れます

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

QExcel2003で、元ファイルから並び替え条件を変えた2個のファイル

Excel2003で、元ファイルから並び替え条件を変えた2個のファイルがあります。元ファイルを修正した際、その結果を他の2個のファイルに反映させる方法が在りますでしょうか?現在は作業が終わり次第、他のファイルの並び替え条件でソートし、それぞれ上書き保存してます。具体的には、映画のリストで邦題、原題、製作年、監督、主演俳優、評価等のリストで、取り敢えず監督名、主演俳優名の空白部を埋めようとそれぞれソートしてあります。
どうぞ宜しくご教示下さい。

Aベストアンサー

No.1です。
検索が必要な場合、色々な方法がありますが、
検索値が右側にあり、左側のデータを取り出したい場合は、
MATCH()関数が適当かと思われます。
添付の例で説明すると、
No.1ファイルで、邦題(4)の監督名(DD)を入力すると、元ファイルの邦題(4)へ
反映させる式は、
[元ファイル.xls]Sheet1!D5=INDIRECT("[No.1.xls]Sheet1!A"&MATCH(A5,[No.1.xls]Sheet1!$B:$B,0))
です。
よって、
上記式を入力後上下にフィルすれば、No.1ファイルの邦題を検索して
No.1ファイルに入力された監督名が元ファイルの監督列に表示されます。
その他の列に対しても検索表示が必要であれば、
たとえば原題であれば"[No.1.xls]Sheet1!A"を
"[No.1.xls]Sheet1!C"に変更するなどして下さい。
(ただ、重複する邦題がある場合は上から順に先に出てきた邦題の答えが返されますので
ご注意下さい)


人気Q&Aランキング

おすすめ情報