エクセルについて

エクセルについて、検索値が2つあり(2つのセル)
別のシートにある2つのセルが一致した場合、
値を表示したいときどうしたらいいでしょうか…
一致していない場合は空欄でいいですm(._.)m

なるべく急ぎでお願い致しますm(._.)m

A 回答 (1件)

表にして見せた方が言葉でゴチャゴチャ書くより、一目瞭然になろうかと!

    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

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

QINDIRECT関数の使い方で理解できない点があります。

エクセル2010を使っている者です。

会社で使っているエクセルファイルの数式中に「INDIRECT($J3&G$5&":"&$K3&G5,FALSE)」という記述があり(subtotal関数の参照個所として使っています)、私はINDIRECT関数についておおよその意味がわかっているつもりですが、この部分の意味が理解できませんでした。
なお、数式中に出てくる、J3には「R8」、G5には「C7」、K3には「R500」とセル番地が入力してあります。

となたか、ご教示願います。

Aベストアンサー

R1C1形式表記ですね。
A1表記形式ではないセルの表現方法です。

RはRow(行)で、CはColumn(列)をしめします。
 J3セルのR8は8行
 G5セルのC7はG列
なので
 G8セル
を示しています。
 K3セルのR500は500行
 G5セルのC7はG列
なので
 G500セル
を示していることになります。

すなわち
 $J3&G$5&":"&$K3&G5
この部分は
 G8:G500
の範囲を示していることになります。

Qエクセルデータをカンマ区切り、ダブルコーテーションで囲んだデータにする方法を教えてください

はじめまして。
仕事でエクセルデータをカンマ区切り、ダブルコーテーション囲みのテキストデータにする必要があります。

例)
”111”,"222","","","","666""

このように空白のセルもあり、そのセルもダブルコーテーションで囲みたいです。
VBAで変更する方法をどこかで見かけましたが、張り付けてみましたが、上手く動きませんでした。
超初心者ですので、わかりやすく教えていただけると有り難いです。

お手数をおかけしますが、宜しくお願い致します。

Aベストアンサー

Unicode 出力の件ですが、せっかく、個人用マクロブックに納められる(つもり)ので、それを、書き換えるよりも、後づけマクロのほうがよいかもしれません。一緒にしてしまうと、Unicodeのみになってしまいますから、それも望まないし……
とあれこれ考えて、単独マクロで、Unicodeファイル判別するプログラムもつけました。BigEndien も LittleEndienも別けますが、出力は、BigEndienだけです。
こういうのは、余計なものかもしれません。

'//
Public Sub Convert2UNICODE()
'シフトJISをUnicodeに替えるマクロ
Dim stream As Object
Dim stream2 As Object
Dim fname As Variant
Dim buf As Variant
Dim b() As Byte
Dim i As Long
fname = Application.GetOpenFilename _
 ("File (*.*), *.*", 1, "ファイルオープン")
 If VarType(fname) = vbBoolean Then Exit Sub
 Open fname For Binary As #1
   ReDim b(1 To 6)
    Get #1, , b
  Close #1
 For i = 1 To 6
 buf = buf & Hex(b(i))
 Next
 If buf Like "FFFE*" Or buf Like "FEFF*" Then
  MsgBox "ファイルはすでにUnicodeです。", vbExclamation
  Exit Sub
 End If
 '-------変換プログラム-----------
On Error GoTo ErrHandler
Set stream = CreateObject("ADODB.Stream")
  stream.Open
  stream.Type = 2
  stream.Charset = "shift_jis"
  stream.LoadFromFile fname

Set stream2 = CreateObject("ADODB.Stream")
  stream2.Open
  stream2.Charset = "unicode"
  stream.CopyTo stream2
  stream2.SaveToFile (fname), 2
  stream2.Close
  stream.Close

Set stream2 = Nothing
Set stream = Nothing
Exit Sub
ErrHandler:
 If Err.Number <> 0 Then 
  Msgbox Err.Number & " :" & Err.Description
End If
End Sub

Unicode 出力の件ですが、せっかく、個人用マクロブックに納められる(つもり)ので、それを、書き換えるよりも、後づけマクロのほうがよいかもしれません。一緒にしてしまうと、Unicodeのみになってしまいますから、それも望まないし……
とあれこれ考えて、単独マクロで、Unicodeファイル判別するプログラムもつけました。BigEndien も LittleEndienも別けますが、出力は、BigEndienだけです。
こういうのは、余計なものかもしれません。

'//
Public Sub Convert2UNICODE()
'シフトJISをUnicodeに替えるマクロ
Di...続きを読む

Q<エクセル>2つのデータに間違いがないかをチェックしたい

エクセルで入力したデータが、ルールに基づいて正しく入力できているかどうかを確認するような関数はありますか?

例として(添付画像もつけさせていただきました)「粉薬」と「飲薬」を入力し、各容量を入力します。
「粉薬」と「××g」、「飲薬」と「××」は必ずセットで入力されていることが必須です。
もし誤って「粉薬」のときに「××」と入力をした場合に、間違った入力がされていることが表示されるような関数はありますでしょうか?
枠外に〇や×として表示される
セルに色がつく・・・等

色々検索をして試してみたのですがうまくいきません。
VBAなども出てきたのですが私自身知識が全くないことと、作成したデータをあまりエクセルが得意ではない人が使う可能性などを考え、できれば関数などでできれば・・・と考えています。

Aベストアンサー

=IF(NOT(ISERROR(FIND("粉薬",B2))),IF(NOT(ISERROR(FIND("g",C2))),"○","×"),"・")
b2に粉薬の文字がある場合で、かつ、(c2にgの文字がある場合には、○を表示、ない場合は×を表示)、左記以外は・を表示

QExcelを使って行列変換をしたい(大量件数)

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeeeee oooooo
◆test2 kaaaaaa kiiiiiiiii kuuuuuuuuu keeeeee koooooooo

のように変換する必要がでてしまいました。

マクロなどで一括で変換できないでしょうか。
当方知識が乏しいため困っております。

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeee...続きを読む

Aベストアンサー

こんにちは!

別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
Else
wS.Cells(cnt, Columns.Count).End(xlToLeft).Offset(, 1) = .Cells(i, "A")
End If
Next i
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんにちは!

別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(...続きを読む

Qエクセル 関数

エクセルの関数や条件付き書式を教えてください。

①画像のCDE列が、画像のように黄色く塗りつぶされるようにしたいです。
②画像のF列に、CDE列の中で、選択肢の中から指定したHIJ列に当てはまる数が出るようにしたいです。

よろしくお願いします!

Aベストアンサー

こんにちは!

規則性がよく判らないのですが・・・
① 条件付き書式については
同じ行のC~E列の中にH~J列データがあれば色を付ける!というコトだと解釈して・・・

↓の画像ではC2~E13を範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=COUNTIF($H2:$J2,C2)
という数式を入れ塗りつぶしの「黄色」にしています。

② 同じ行のH~J列データがC~E列にいくつあるか?をF列に表示するという解釈です。
(条件付き書式で色がついているセル数を求めるコトになる?)

F2セルに
=SUMPRODUCT((COUNTIF(H2:J2,C2:E2))*1)
という数式を入れフィルハンドルで下へコピーしています。m(_ _)m

Qエクセル 関数について

エクセル表を作成しているのですが、わからない関数について教えてください!
画像のようなデータ表(タイトル=☆☆とします)から別シートへ、基準にもとづき自動入力されるようにしたいです!

抽出先の新しいシートですが、
A1=空白です
A2=名前
B1,C1,D1,E1,F1,G1,H1=日付を順に入力しています
B2,C2,D2,E2,F2,G2,H2=日付からTEXT(B1,"aaa")で曜日を出しています
A3,A4=画像のデータから名前を出しています(=☆☆!G3)
A4,A5=画像のデータから名前を出しています(=☆☆!G4)
A6,A7=画像のデータから名前を出しています(=☆☆!G5)
A8,A9=画像のデータから名前を出しています(=☆☆!G6)

①B~Hの3,5,7,9行目に☆☆シートをもとに労働時間を抽出したい

②B~Hの4,6,8,10行目に☆☆シートをもとに出勤時間を抽出したい

③抽出する際は休みの日は空白にしたい
→☆☆!A3:F6にない曜日は空白

④抽出する際は別シートの祝日データをもとに、祝日も空白にしたい
※祝日データは別シート(シート名=祝日一覧のA1:A17に祝日の日付が入っています
→D,E,Fはゴールデンウィークのため無条件で空白

空白は✖を入れています。
横並びのデータの区切り目は・で区切っています
A列の3,4、5,6、7,8、9,10はセルを結合しています

//// A・B・C・D・E・F・G・ H
1】✖・5月1日・5月2日・5月3日・5月4日・5月5日・5月6日・5月7日
2】名前・月・火・水・木・金・土・日
3】A・7・7・✖・✖・✖・7 ・✖
4】結合・10:00・10:00・✖・✖・✖・10:00・✖
5】B・✖・5.5・✖・✖・✖・✖・✖
6】結合・11:00・✖・✖・✖・✖・✖
7】C・4・10・✖・✖・✖・4・✖
8】結合・12:00・12:00・✖・✖・✖・12:00・✖
9】D・3・8・✖・✖・✖・✖・✖
10】結合・19:00・14:00・✖・✖・✖・✖・✖



こうなるように作り上げたいのですが関数が分かりません。
IF関数やFINDを使って試行錯誤しているのですが、エクセル初心者で知識が浅すぎて入れている関数ではエラーになってしまいます。。
賢者の皆様、知恵をお貸しください。。

エクセル表を作成しているのですが、わからない関数について教えてください!
画像のようなデータ表(タイトル=☆☆とします)から別シートへ、基準にもとづき自動入力されるようにしたいです!

抽出先の新しいシートですが、
A1=空白です
A2=名前
B1,C1,D1,E1,F1,G1,H1=日付を順に入力しています
B2,C2,D2,E2,F2,G2,H2=日付からTEXT(B1,"aaa")で曜日を出しています
A3,A4=画像のデータから名前を出しています(=☆☆!G3)
A4,A5=画像のデータから名前を出しています(=☆☆!G4)
A6,A7=画像のデータから名前を出し...続きを読む

Aベストアンサー

こんにちは

ご質問の前半の①、②は単なるセルの参照なので、参照するセル位置を計算すればよいだけですね。
残りの③、④は、ご質問文だけではよくわかりませんが、空白にする条件式を作成して、上記の参照をする代わりに空白にすれば済むでしょう。
ただし、表計算で集計することを考慮した表の作り方とは思えないので、計算を面倒にしているだけとも思えますが・・・

①、②に関しては元の表から参照する位置を計算できれば、INDEXやOFFSET関数で求めることができます。
行数は、「(=☆☆!G3)」のように直接指定のようなので、名前から検索する必要はないみたいなので、単純に「抽出シート」の3、4行が元シートの4行に、5、6行が元シートの5行を…といった按配で参照できればよいので、
 行は INT((ROW()+1)/2)+2 のような計算で算出できると思います。
添付の図では4行目から実データが始まっているようなので、上記の計算にしていますが、図をよく見ると実際は3行目なのかも知れませんので、その場合は調整が必要です。

列に関しては、日付で元シートから検索するにしても、元シートに日付欄が無いようなので、どうやって照合なさるつもりなのかわかりませんが、例えば元シートの2行目の曜日表示はDATE型の値を曜日表示しているものと仮定するなら、
 MATCH(B$1,元シート!1:1,0)
で、該当する列数を得ることができます。(H列なら8、K列なら11・・・)
「出」を参照したい場合はそのまま、「退」なら+1、「計」は+2をすることで参照したい列を算出することが可能です。
あとは上記の行と列を利用してINDEXやOFFSET関数で参照すればよいだけです。

③に関しては、元シートのA~F列に該当する曜日の文字があるかをチェックすれば良いので、
 ISERROR(MATCH(TEXT(B$2,"aaa"),OFFSET(元シート!$A$1,対象行数-1,0,1,7),0))
のようなチェックをかければ判別できるでしょう。
(↑の式中の「対象行数」は①で求める、対象行の式を意味します)
他にももう少しスマートな方法がありそうな気もしますが・・・とりあえずの方法として。

④も③と同様ですが、別シートのデータがどのようになっているのか不明なのでよくわかりません。
>A1:A17に祝日の日付が入っています
とのことなので、日付で検索して該当するものがあるかないかで、ほとんど③と同様の方法で判別が可能と思います。
それぞれが作成できたなら、それらのORをとれば、求める条件になるものと思います。

これらの式を順に組み合わせてゆけば、ご希望の関数式を作成できると思いますが、一気に結果を求めようとすると式が複雑になる傾向が多分にありますので、中間集計シートを作成したり、作業列や行を利用するなどして、集計(といっても単なる参照ですが)をしやすい形に変換しておくという方法のほうがやり易いかも知れませんね。

回答を考えながら感じた個人的な感想を言わせてもらえば、計算で表示する仕組みをほとんど考慮せずに作成された表形式だという気がします。
なさりたいことは基本的には単純な参照に近い内容なので、計算の仕組みを事前に考えて全体の構成を行えば、ほとんど同じ内容の表でも、もっと簡単に計算が可能なものができるものと思います。
きつい言い方ですが、わざわざ複雑で難しいものにしておいてから、「自動計算は誰かやってくれ~」と言っいるような気がします。

こんにちは

ご質問の前半の①、②は単なるセルの参照なので、参照するセル位置を計算すればよいだけですね。
残りの③、④は、ご質問文だけではよくわかりませんが、空白にする条件式を作成して、上記の参照をする代わりに空白にすれば済むでしょう。
ただし、表計算で集計することを考慮した表の作り方とは思えないので、計算を面倒にしているだけとも思えますが・・・

①、②に関しては元の表から参照する位置を計算できれば、INDEXやOFFSET関数で求めることができます。
行数は、「(=☆☆!G3)」のように直接指定のよ...続きを読む

Qエクセルの並べ替えについて

B列にアルファベット、数字、カタカナのデータが混在していますが、
これを、カタカナ→アルファベット→数字の順で並び替えるには
どうしたらいいのでしょうか…
調べてもわかりませんでした(>_<)

Aベストアンサー

・ソートを使えば簡単です。

 B列のどこでも1箇所セルを選択してツールボタンの
 「A-Z↓」か「Z-A↑」を押します。
 実は、このソートは数字だけでなく文字でも可能です

 途中にスペース行があると、スペース行の上までです。

 うまくいかない場合、
  一度ソートして、アルファベット、数字、カタカナの境目に空き行を入れ
  個々に再ソートしてから 空き行を削除すると出来ます。

QEXCEL 一番右の結果を返す関数を教えてください。

閲覧ありがとうございます。

WEBアンケートの結果集計をしています。
複数回答で、YESと回答するとEXCELに「1」と表示されます。
右にいくにつれて最新情報となっている為、一番右の「1」を反映させたいです。

添付画像は例です。
左の表を右の表のように作り変えるには、H列にどのような関数を入れればよいでしょうか。

よろしくお願いいたします。

Aベストアンサー

=IFERROR(LOOKUP(2,B2:E2,B$1:E$1),"")

でどうですか?

Qエクセルの使い方で質問です

一つのセルに、単語の羅列が入ったデータがあります。
このデータを単語ごとに、一つ一つセルに分け、文字数順に並べ替えたいのですが、何かいい方法があれば教えてください。
 現在、タブ区切りでセルに分けるところまではうまくいっているのですが、文字数順に並べ替える方法が分かりません。
 LEN関数を使って文字数で並べ替えを行う方法が別の質問ページで見たのですが、単語の羅列の入ったデータが大量にあります。(具体的には15000個近くあります…)
 横方向の並び替えを使用したとしても、15000回並び替えないといけないことになってしまうのでしょうか…?

こちらエクセルにあまり詳しくないので、頓珍漢なことを書いていたら申し訳ありません。
仕事に必要で、どうしたらよいかわからず途方に暮れております。
ご回答宜しくお願い致します。

こちらエクセル2016を使用しております。
 
説明が分かりにくいと思いましたので、画像を添付させて頂きます。
左側にあるデータが縦に15000個並んでいる感じです。
並び替え後の結果としては、同じ文字数なら順番は特に希望はありません。
宜しくお願い致します。

一つのセルに、単語の羅列が入ったデータがあります。
このデータを単語ごとに、一つ一つセルに分け、文字数順に並べ替えたいのですが、何かいい方法があれば教えてください。
 現在、タブ区切りでセルに分けるところまではうまくいっているのですが、文字数順に並べ替える方法が分かりません。
 LEN関数を使って文字数で並べ替えを行う方法が別の質問ページで見たのですが、単語の羅列の入ったデータが大量にあります。(具体的には15000個近くあります…)
 横方向の並び替えを使用したとしても、15000回...続きを読む

Aベストアンサー

No.1&No.9です。度々、ゴメンナサイ。
VBAにミスがありました。文字数ではなく、値で並べ替えていました。
正しいコードは、次の通りです。置き換えをお願いします。

Function GetWord(文字列 As Variant, 順位 As Variant) As Variant
Dim a As Variant
Dim s As String
Dim i As Long
Dim j As Long
a = Split(文字列, " ")
For i = UBound(a) To 0 Step -1
For j = 0 To i - 1
If Len(a(j)) < Len(a(j + 1)) Then
s = a(j + 1)
a(j + 1) = a(j)
a(j) = s
End If
Next j
Next i
GetWord = a(順位 - 1)
End Function

No.1&No.9です。度々、ゴメンナサイ。
VBAにミスがありました。文字数ではなく、値で並べ替えていました。
正しいコードは、次の通りです。置き換えをお願いします。

Function GetWord(文字列 As Variant, 順位 As Variant) As Variant
Dim a As Variant
Dim s As String
Dim i As Long
Dim j As Long
a = Split(文字列, " ")
For i = UBound(a) To 0 Step -1
For j = 0 To i - 1
If Len(a(j)) < Len(a(j + 1)) Then
s = a(j + 1)
...続きを読む

Q【緊急!至急!】 Excelの計算でセルに「=」を入力して無くても計算してくれる設定の方法。

こんばんは
【緊急!至急!】でExcelの計算でセルに「=」を入力して無くても計算してくれる設定の方法。
を教えてください!
仕事で今晩中に急に必要になって困っています。

よろしくお願い致します。

Aベストアンサー

+を最初に入力します。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報